LoginSignup
2
5

More than 3 years have passed since last update.

【メモ】SSH設定+多段SSHを一発で行う

Last updated at Posted at 2020-07-13

多段SSHを行う際に、何度もSSHを実行するのは面倒なので、一発で行きたいサーバにSSHする方法をメモ

こちらの記事が大変参考になりました。
ありがとうございます。

$ ls -al ~/.ssh/
drwx------@ .               # ~/.ssh のパーミッションにも注意
drwxr-xr-x+ ..
-rw-r--r--  config          # SSH の設定ファイル
-rw-r--r--  known_hosts
-rw-------  authorized_keys # 公開鍵置き場
-rw-------  id_rsa          # 秘密鍵
-rw-r--r--  id_rsa.pub      # 公開鍵

パーミッションを設定

パーミッションが700じゃないと怒られる

$ chmod 700 ~/.ssh

公開鍵の設定

SSHには、パスワード認証方式と公開鍵認証方式があるが、公開鍵認証方式の方が安全らしい

1.公開鍵と秘密鍵を作成

  • ローカル(クライアント)側でssh-keygenコマンドで鍵のペアを作成
$ ssh-keygen -t rsa -C "comment "

-t: 鍵の暗号化を指定(デフォルト:「rsa」)
-C: コメントの追加(Githubに登録してあるEmailアドレスを入れるのが一般的らしい)
その他のオプションはこちらを参考

すると、SSH Keysの保存先とパスフレーズの入力を求められる

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/lasta/.ssh/id_rsa): <Press Enter>
# 生成される鍵の保存先の指定(任意)
Enter passphrase (empty for no passphrase):              <Type A Passphrase> 
# 鍵へのパスワード(任意)
Enter same passphrase again:

※パスフレーズに関してはGitHubが出しているこちらを参考

  • サーバ(ホスト)側へ公開鍵(id_rsa.pub)を転送
$ scp ~/.ssh/id_rsa.pub user@host:~/
  • ホスト側で公開鍵を登録
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

※Linux環境では、公開鍵の転送とホスト側での登録は以下のコマンドで1行で簡潔できる

$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@host

-iIdenntityfileを指定するオプションで、デフォルトが~/.ssh/id_rsa.pubなので省略可

  • SSH接続の確認
$ ssh user@host

多段SSH

本題の多段SSHを一発で行う方法。
以下は、client->host1(踏み台)->host2という場合の例
やり方は簡単

  1. host2にclientの公開鍵を登録 clientのid_rsa.pubの中身をコピーして、host2のauthorized_keysに書き込めばOK
  2. ~/.ssh/configに以下を書き込む

Host           host1         
HostName       host1.hoge.fuga
User           user       
IdentityFile   ~/.ssh/id_rsa

Host           host2
HostName       host2.foo.bar
User           user
IdentityFile   ~/.ssh/id_rsa
ProxyCommand   ssh -CW %h:%p host1

書き方

Host: SSHするときの名前タグ
HostName: $ ssh user@~の@以下
User: $ ssh user@~のuser名
IdentityFile: id_rsaのパス

これで、

$ ssh host2

だけでSSH接続できる!!

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5