MacでのSSH接続を管理する
サーバーにSSH接続するたびに毎回ホスト名や鍵情報を書くのが面倒なので、任意につけたホスト名だけでログインできるようにする。 ついでに踏み台サーバーを経由した多段SSHの設定もする。
通常のSSH
$ ssh root@example.com -i ~/.ssh/example.key -p 22
長い...
Host名を指定したSSH
- .ssh/configファイルを作成して管理する
# .sshディレクトリがなければ作成して、パーミッションを変更する $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ touch ~/.ssh/config
- 接続先のホスト情報をconfigファイルに記載する
$ vim ~/.ssh/config # 接続先サーバー情報 Host example HostName example.com User root IdentityFile ~/.ssh/example.key Port 22 TCPKeepAlive yes IdentitiesOnly yes
これでssh接続の際にHostに書いた名前を指定するだけでsshできる。
$ ssh example
踏み台サーバーを使った多段SSH
例としてAWSのEC2に踏み台サーバー(jump)経由でsshする。
$ vim ~/.ssh/config Host jump Hostname 192.168.0.1 User user_name IdentityFile ~/.ssh/id_rsa Host web01 Hostname 192.168.1.1 port 22 User ec2-user IdentityFile ~/.ssh/example.pem ProxyCommand ssh -CW %h:%p jump
- 読み書き権限を付与する
$ chmod 600 .ssh/example.pem
※ 事前にexample.pemをローカルに落としてくる必要がある