8.31.2015

SSH Cheat Sheet

SSH チートシート

 

たまに使うけど忘れがちなコマンド & tips についてメモ。

SSH キーペアの作成

ssh-keygen -t rsa -f ~/.ssh/your_key_name -C 'yourname@example.com'
  • パスフレーズはプロンプトから入力

これで

  • ~/.ssh/your_key_name (秘密鍵)
  • ~/.ssh/your_key_name.pub (公開鍵)

が作成される

秘密鍵から公開鍵を作る

ssh-keygen -y -f ~/.ssh/your_key_name
  • 標準出力に出るので、必要に応じてファイルにリダイレクト

秘密鍵のパスフレーズを変更する

ssh-keygen -p -f ~/.ssh/your_key_name
  • プロンプトで変更前、変更後のパスフレーズを入力。(空にすればパスフレーズなしになる)

多段SSH

以下のような構成を例にする。

作業用マシン ---> 踏み台サーバ ---> 対象サーバ1
                                `-------------------> 対象サーバ2
識別名            server-a          server-b          server-c                            
IPアドレス        a.a.a.a           b.b.b.b           c.c.c.c
ログインユーザ    user-x            user-y            user-y
SSH鍵             ~/.ssh/id_rsa_x   ~/.ssh/id_rsa_y   ~/.ssh/id_rsa_y
  • まず、全ての秘密鍵を作業用マシンのローカルに持ってくる

踏み台サーバへのログイン

1. コマンドライン

ssh -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_x -t -l user-x a.a.a.a

2. ~/.ssh/config に書く場合

Host server-a
  HostName a.a.a.a
  User user-a
  IdentityFile ~/.ssh/id_rsa_x
  IdentitiesOnly yes

対象サーバへのログイン

1. コマンドライン

ssh -o ProxyCommand='ssh -W %h:%p -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_x -t -l user-x a.a.a.a' -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_y -t -l user-y b.b.b.b
ssh -o ProxyCommand='ssh -W %h:%p -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_x -t -l user-x a.a.a.a' -o IdentitiesOnly=yes -i ~/.ssh/id_rsa_y -t -l user-y c.c.c.c

2. ~/.ssh/config に書く場合

Host server-b server-c
  User user-y
  IdentityFile ~/.ssh/id_rsa_y
  ProxyCommand ssh -W %h:%p server-a
  IdentitiesOnly yes

Host server-b
  HostName b.b.b.b

Host server-c
  HostName c.c.c.c

0 件のコメント:

コメントを投稿