LoginSignup
2
1

More than 1 year has passed since last update.

VirtualBoxのUbuntuにssh接続する

Posted at

VirtualBoxのUbuntu VMで作業をする際、いちいちVMのGUI(またはターミナル)を使うのは面倒で使い勝手も悪いので、ホストマシンのターミナルからssh接続してVM内で作業できるように設定する。

環境

  • macOS Big Sur Version 11.6.1
  • Intel Core
  • VirtualBox 6.1.28
  • Ubuntu 20.04.3 (VM Image)

前提条件

  • VirtualBoxでUbuntuのVM起動済み
  • VMのネットワーク周り設定済み
    • NAT
    • ホストオンリーアダプター

設定手順

以下、VMのターミナルにて作業を進める。

ssh-serverのインストール

sudo apt install -y openssh-server

ssh-serverの起動

systemctl status ssh

を実行すると、

ssh.service ......
.
.
.
Active: acctive (running) ......
.
.
.

と表示されればssh-serverが起動しているのでOK。

もし起動してないようであれば、

sudo systemctl start ssh

で起動する。

また、VM再起動時にも自動でssh-serverが起動するように以下の設定をしておく。

sudo systemctl enable ssh

ホストマシンからの疎通確認

ホストマシンのターミナルからsshの疎通確認を行う。

ssh <VMのユーザー名>@<VMのIPアドレスまたはホスト名>

まだ鍵を登録していないので、上記のコマンドを実行するとパスワードを尋ねられる。パスワードを入力するとVMのターミナルに入ることができる。

公開鍵の登録(オプション)

ssh接続のたびにパスワードを入力するのは面倒なので、公開鍵を登録してパスワード入力なしでssh接続できるようにする。

まず、ホストマシンで鍵を生成してVMに公開鍵を渡す。

ssh-keygen -t rsa

鍵のファイル名が求められるので、任意の名前を入力する。ここではデフォルトのid_rsaとしておく。

次にscpを使ってVMに公開鍵を渡す。

scp ~/.ssh/id_rsa.pub <VMのユーザー名>@<VMのIPアドレスまたはホスト名>:~/

次にVMのターミナルで、ホストマシンから渡された公開鍵を登録する。
ホストマシンから渡された公開鍵があるディレクトリで次を実行。

cat id_rsa.pub >> ~/.ssh/authorized_keys

最後に、ホストマシン側でssh接続の際に指定した鍵を使うように~/.ssh/configに設定をする。
以下、設定例

~/.ssh/config
Host ubuntu-vm
  IdentityFile ~/.ssh/id_rsa
  User <VMのユーザー名>

設定が正しければ、パスワード入力なしでVMにssh接続できるはず。

ssh ubuntu-vm

↓↓↓ こっからVM ↓↓↓

Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-40-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 updates can be applied immediately.

<VMのユーザー名>@ubuntu-vm:~$ pwd
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1