読者です 読者をやめる 読者になる 読者になる

Virtual Boxに入れたubuntu serverにホストOSからssh経由でアクセスする

毎回忘れるのでいい加減メモ

ネットワークの設定

VirtualBox側の環境設定でホストオンリーネットワークにアダプタを追加(されているなら不要)し、対象のVM環境の設定にあるネットワークのアダプター2をホストオンリーアダプタとして有効化。名前を追加したアダプタの名前にする。なお、この作業は対象のVM環境の電源をOFFにしておかないとできない。

ubuntu serverを起動したら、/etc/network/interfacesの末尾に以下を追加する。

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0

これでホスト側からゲストのubuntu serverへアクセスできるようになる。なお、ここのaddressとnetmaskはホストオンリーアダプタのDHCPサーバ設定に依存する。

sshの設定

$HOMEに.sshディレクトリ、及びauthorized_keysファイルがない場合は

$ mkdir ~/.ssh
$ chmod 0700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

しておき、公開鍵をauthorized_keysに記入する。

# この例はホストOS側でログインしているuserの公開鍵をscpを利用してゲストOS側のuserのホームディレクトリへコピーしている
$ scp ~/.ssh/id_rsa.pub user@192.168.56.101:
# 上記でコピーされた公開鍵をauthorized_keysに記入する
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

/etc/ssh/sshd_configの設定を以下のように変更する。

  • PermitRootLogin をnoへ
  • PasswordAuthentication をnoへ
  • AuthorizedKeysFile の項目の先頭にある#を削除

設定が終わったら

$ sudo /etc/init.d/ssh restart

これでホストOSからゲストOSへssh経由でアクセスできる。

参考

Virtualboxで仮想サーバー構築(ubuntu server 12.04 + SSH) - Qiita