ESXiからvCSAに公開鍵認証でSSH接続する
都合により、ESXi から vCSA に対して簡易に(スクリプト化可能な方法で)SSH接続をしたくなったので準備手順として、公開鍵認証の設定を記録する。
参考記事
今回の記事内容はおおむね以下の記事を参考にしている。
上記記事との差異の要点としては、通常は SSH Client 側で作成する公開鍵をサーバ側(vCSA 側)で作成している点である。
この理由は簡単で、ESXi には公開鍵作成に必要な ssh-keygen コマンドがないからである。
したがって、 vCSA 側で作成した秘密鍵を ESXi にコピーする必要がある
細かいところは上記記事を見ていただくとして、今回は端的な手順とコマンドの記載だけとする。
接続用ユーザを作る
今回は root ユーザでログインするつもりなので作ってない。
公開鍵を作成して設置
vCSAにて以下のコマンドを実行して公開鍵と秘密鍵を生成する
# ssh-keygen -t rsa -b 4096
公開鍵の設置については、作成された公開鍵( .pub のほう)を .ssh/authorized_keys に追記すればよい。
上記記事に従うなら、ssh-copy-id コマンドでも実施可能である。とはいえ、コピー先が自分自身なので、 以下のようにすればよい。
# ssh-copy-id -i /root/.ssh/id_rsa.pub localhost
※自分自身へのSSHだがパスワードは要求されるので入力する
秘密鍵を設置
これは、参考記事にはないステップである。
vCSA で作成した秘密鍵(.pub がないほう)を ESXi の任意のディレクトリにコピーすればよい。
ただし、再起動でなくなってしまう RAMDISK に配置するのはイケてないので、Local Datastore か Scratch partition にコピーしよう。
接続テスト
ESXiに接続して、 ssh コマンドで -i で秘密鍵を指定して vCSA に接続すればよい。認証なしでログインできれば成功である。
# ssh -i id_rsa <vcsa_ipaddress>
パスワード認証無効化など諸々
参考記事ではパスワード認証の無効化を実施しているが、今回の更改鍵認証の目的はセキュリティ強化ではなく、スクリプトで利用するためなので、パスワード認証の無効化などは実施していない。
コメント
コメントを投稿