sshを便利にする

背景

  • sshログインして管理するサーバーが増えてきたのですが、全部のサーバーに自分の鍵ファイルをセットしておくわけにもいきません。
  • しかたなく、~/.ssh/ にいろんなサーバーの秘密鍵ファイルを置き、いちいち下記のように指定していました。
ssh -i ~/.ssh/honban_server_id_rsa user@honban_server.example.com
  • 長い。
  • メンドクサイ。
    • 履歴から引っ張り出して実行
      • 間違って別なサーバーへアクセス
        • 別のサーバーにデプロイ

サーバーごとに設定できる

ユーザーごとの設定ファイル

~/.ssh/config

全体の設定ファイル

/etc/ssh/ssh_config

設定例

鍵ファイルを指定する

  • 記述例
Host honban_server.example.com
  IdentityFile ~/.ssh/honban_server_id_rsa
  • 実行例
ssh user@honban_server.example.com


ポートを指定する

  • 記述例
Host honban_server.example.com
  Port 10022

踏み台

  • honban_server.example.comへアクセスするために、fumidai.example.comへログインする必要がある場合の記述例
Host honban_server.example.com
  ProxyCommand ssh fumidai_user@fumidai.example.com nc %h %p

詳しくは

man ssh_config

facebook slideshare rubygems github qiita