ESXiからvCSAに公開鍵認証でSSH接続する

 都合により、ESXi から vCSA に対して簡易に(スクリプト化可能な方法で)SSH接続をしたくなったので準備手順として、公開鍵認証の設定を記録する。


参考記事

今回の記事内容はおおむね以下の記事を参考にしている。

https://vhoge.hateblo.jp/entry/2021/01/04/231350


上記記事との差異の要点としては、通常は 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>



パスワード認証無効化など諸々

参考記事ではパスワード認証の無効化を実施しているが、今回の更改鍵認証の目的はセキュリティ強化ではなく、スクリプトで利用するためなので、パスワード認証の無効化などは実施していない。



コメント

このブログの人気の投稿

vSwitchにSTPが不要な理由

ESXi に DNS サーバを何個まで登録できるか

障害でVDSから切断されたVCSAの復旧方法