0

AWS Java sdk を使用して EC2 インスタンス (Ubuntu 12.04 を実行) を起動し、分散ツールを実行しています。ツールはノード間のメッセージ パッシングにopenMPIを使用し、openMPI は SSH を使用してノードを相互に接続します。

問題は、EC2 インスタンスがデフォルトで SSH 接続に対して相互に認証しないことです。このチュートリアルでは、キーを生成してノードに追加することで SSH をセットアップする方法を示しています。コマンド

$ scp /home/mpiuser/.ssh/id_dsa.pub mpiuser@slave1:.ssh/authorized_keys

私はまだ許可が拒否されました。また、新しいキーを生成した後、Amazon から取得した「.pem」キーを使用してログインできませんでした。

私は SSH キーの経験はありませんが、各 EC2 インスタンス (最初に作成されたとき) を構成して、たとえばキーをそれぞれにコピーするなど、他のインスタンスを認証する方法が必要です。これは可能で、どのように行うことができますか?

PS: 各インスタンスが起動されると接続でき、SSH 経由でそれらのコマンドを実行できます。

4

1 に答える 1

0

解決策を見つけました。EC2 インスタンスの作成に使用するイメージ (AMI) に Amazon プライベート キー (.pem) を追加し、新しい ID ファイルを追加して /etc/ssh/ssh_config ファイルを変更しました。

IdentityFile /path/to/the/key/file

これにより、SSH は、同じキーで作成された他の EC2 インスタンスに接続しようとしたときに、.pem 秘密キーを認識しました。

StrictHostKeyCheckingまた、「ホスト xxx の信頼性を確立できません」というメッセージが表示されないように、no に変更しました。これにより、そのホストへの接続を続行するにはユーザーの操作が必要になります。

于 2013-07-21T14:05:20.450 に答える