8t's BBR

よくつまったあれこれをメモ

複数の仮想マシンを互いにSSHで接続

Hadoopでの完全分散を行うにあたり、クラスタ構成をとりあえず実験的にすべて仮想マシンにしてみた時の各仮想マシンSSHの設定の仕方

環境
  • ubuntu 14.04
  • ネットワークに関する設定は一切していないと仮定
目標
  • SSHで互いのマシンにパスワードなしで接続


まずは、仮想マシンを起動せずに、各仮想マシンの設定を変更する
ネットワーク設定のところから、アダプター1の割り当てがNATであることを確認したら、ポートワーティングを選択
名前:ssh プロトコルTCP ホストポート:2200 ゲストポート:22
の設定を追加する(ホストポートの番号は各々ご自由に)
次にアダプター2の割り当てをホストオンリーアダプタに設定


以上の設定をしたら、仮想マシンを起動
OSインストール直後はsshd_configはないので、

$ sudo apt-get install openssh-server

を実行。これでSSHサーバーがインストールされる。次にSSHサーバーの設定を行う

# PasswordAuthentication no の記述を確認
# 項目がなければ下手に追加しないほうがいいかもしれない
$ cat /etc/ssh/sshd_config

# 鍵の作成
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

これにより ~/.ssh/に秘密鍵id_rsaと公開鍵id_rsa.pubが作成される。このうち、公開鍵を各サーバーに渡すわけだが、まずは.sshディレクトリで

$ touch authorized_keys 
$ chmod 600 authorized_keys

としてファイルを作り、各サーバーのid_rsa.pubの中身をauthorized_keysに丸々コピーする。これを各サーバーすべて行う。

$ ssh (IPアドレス) 

でパスワードなしでつなげることが確認できたら成功