SSHについて
前の現場で携わってた時の業務内容について お話をします。 SSHの鍵交換という作業をやっておりました。
SSHとは
ネットワークを経由して他のコンピュータ(主にサーバ)に接続し、遠隔操作するための仕組みです。通信途中の情報は全部暗号化されます。telnetと比較すると暗号化されないのでSSHの方が安全です。
Telnetの強化版と言いましょうか。 簡単にtelnetの説明をすると、ほかのコンピュータを遠隔操作するための仕組みです。
私がやっていた作業をざっくり説明すると、お客様から「AサーバとBサーバをSSHで鍵交換したいから設定してください」という依頼がきます。 その依頼を受けて、Aサーバ側の鍵を作成して、Bサーバにその鍵を配置してあげ、指定のファイルに鍵情報を記載して、疎通確認をします。
以前の現場でも他の現場でも必ずといっていいほど出てくるエラーがありますので、一つ教えます。
以下、SSHでAサーバからBサーバに繋いだ時のエラーです。
$ ssh example.com @@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is :::::::::::::::. Please contact your system administrator. Add correct host key in /Users/hnw/.ssh/known_hosts to get rid of this message. Offending RSA key in /Users/hnw/.ssh/known_hosts:133 RSA host key for example.com has changed and you have requested strict checking. Host key verification failed.
このエラーが出たら、サーバ側のホスト鍵が古いんだなと思ってください。
説明すると、AサーバからBサーバに初めて接続する際に 「ホスト鍵を登録しますか?しませんか?」と聞かれます。そこでyesと入力すればAサーバにBサーバのホスト鍵情報が、known_hostsファイルというものに保存され接続が可能となります。
上記のエラーは、Bサーバを作り直したり、OS再インストール等をすると、ホスト鍵が作り直されます。 サーバ構築の現場だと、サーバの作り直し等 頻繁にあるのでお気をつけください。
このエラーを直すには、Aサーバ側のknown_hostsファイルに記載されているBサーバのホスト鍵情報を削除してあげればよいです。 当然ですが、削除する際にはknown_hostsのバックアップは取ってください。 known_hostsには、別サーバのホスト鍵情報もあるので誤って削除することもあります。 いつでも古いものに戻せるようにしておく必要があります。
削除後、再度接続をすると初めて接続する際の「ホスト鍵を登録しますか?しませんか?」が表示されるので、yesと入力すれば新しいBサーバのホスト鍵情報が登録され接続可能となります。 Bサーバ側に置いたAサーバ側の鍵もあるか確認する必要があります。
今回伝えたエラーは、どこの現場でも出ますので、覚えておくと結構助かります。 SSHの鍵交換について詳しく知りたい場合は、ググれば沢山でてくるので調べてみてください。
山神と申します。
日々勉強、日々精進、日々向上
もう人生に疲れたの…
グローディアのサービス一覧はこちら