VirtualBoxのubuntuで右クリック貼り付けする

0.前段

VirtualBoxでサーバ起動するとコンソールが立ち上がるが、 これが使い勝手が悪く、右クリック貼り付けが効かない。 何か方法はないかと調べたところ、sshで入ればいいという結論に。 VirtualBoxのコンソールでできればほんとはいいんだけどね・・・

2019/10/22 追記 vagrantubuntu仮想マシンを作成すれば、 以下のことをしなくても簡単にssh可能です。

SSH接続するために

SSH接続するためには、仮想端末にSSHをインストールすればいいかと思ったらそうは簡単にいかなかった。 手順としては以下

  1. 仮想マシンにホスト側と通信できる「仮想NIC」を追加
  2. 追加した「仮想NIC」を、仮想マシン上で認識させ、IPアドレスを設定
  3. 仮想マシンSSHインストール

環境など

1.仮想マシンにホスト側と通信できる「仮想NIC」を追加

  1. VirtualBoxのホストネットワークマネージャーを開く メニューからファイル > ホストネットワークマネージャー f:id:katutoki:20191019161249p:plain

  2. 「作成」ボタンで新しいアダプターを追加 f:id:katutoki:20191019233327p:plain f:id:katutoki:20191019233347p:plain IPv4アドレスは任意のものでOK
    ほんとはDHCPなしの静的アドレスでやりたかったのですが、
    DHCPを設定しないとどうにも繋がらずあきらめ。。

  3. アダプターを仮想マシンに追加 f:id:katutoki:20191019161952p:plain 設定したい仮想マシンを選択し、「設定」を開く
    「アダプター2」のタブを選び、「ネットワークアダプターを有効化」にチェック 割り当て:ホストオンリーアダプター
    名前:さっき作成したアダプターを選ぶ
    ※電源オフの状態

2.追加した「仮想NIC」を、仮想マシン上で認識させ、IPアドレスを設定

仮想マシンを起動し、ログイン

Ubuntu16.04では「/etc/network/interfaces」を編集するらしいが、
Ubuntu18では「Netplan」で行う方法に変わっているため、
「/etc/netplan/」下のファイルを編集する。
※私の環境では「/etc/netplan/50-cloud-init.yaml

初期状態だとこんな感じ

network:
    ethernets:
        enp0s3:
            dhcp4: true
    version: 2

これを下記のように追加

network:
    ethernets:
        enp0s3:
            dhcp4: true
        enp0s8:
            dhcp4: true
            addresses: [192.168.184.2/24]
    version: 2

仮想NICdhcpを設定したので、dhcp4をtrue
IPアドレスは仮想NICで指定したアドレスを設定

保存したら設定を反映

sudo netplan apply

反映されたか確認

ip addr

enp0s8のところに先ほど設定したIPアドレスが表示されていればOK

3.仮想マシンSSHインストール

sudo apt install -y openssh-server

4.ホストから仮想マシンSSH接続

ssh user01@192.168.184.2

※user01は仮想マシンのユーザ
 これをつけないとホスト側のユーザが勝手に指定されてしまいログインできなかった。
 puttyを使えばユーザから聞いてくれるのでIPアドレスのみでも接続可能

さいごに

なんとかSSHでつなげられたので、右クリック貼り付けができて満足。 でも、DHCPの部分は心残り。色々調べた中ではDHCP設定していなくてもつなげられてそうなのだが。

WindowsでDocker環境が欲しくなり、すでにVagrantを使っていたので、Docker for Windowsが入れられず、 Vagrant上にサーバ立ててDockerを入れることにしたのが始まりだが、遠回りしてようやく始められそう。