VirtualBoxの設定
まず、VirtualBoXの設定です。Cmd+,を押して、VirtualBoxのネットワーク設定を行います。具体的には、NATネットワーク、ホストオンリーネットワークに設定を追加します。追加する項目は、デフォルトでいいでしょう。設定には、DNSなども含まれるため、アドレスを固定したい場合などは、適時変更してください。
次に、ゲストOSのネットワーク設定です。簡単には、ゲストOSのネットワーク設定でアダプタ1をNAT、準仮想化ネットワークにします。次に、アダプタ2でホストオンリーアダプター、準仮想化ネットワークにします。
アドレスの固定方法ですが、VirtualBoxの設定からの方法が最も簡単です。
ネットワーク –> ホストオンリーネットワーク
vboxnet0, vboxnet1, vboxnet2 のように複数作成します。
各自アドレスを変更します。ゲストのアドレスは、ホストのアドレスと合わせてください。
先ほど設定したホストオンリーネットワークのvboxnet”n”を各種OSのネットワーク設定に指定します。
この設定により、接続コマンドを固定できます。
ゲスト側の設定
設定を終えたら、ホストからゲストに通信ができるかを確認してみましょう。
まずは、LAN Address(アドレス)の確認からですね。基本的に、Arch Linuxにはifconfigが入ってないので、インストールしておきましょう。
$ sudo pacman -S net-tools openssh
$ ifconfig
$ ifconfig | tr ' ' '\n' | grep 192
では、次に、SSH Server(サーバー)の設置と、場合によっては、Firewall(ファイアウォール)の設定を変更しなければなりません。
具体的には、SSH ServerをDaemon(デーモン)で起動し、サーバーに設定した接続ポートへのアクセスをFirewallに許可させなければなりません。
SSH Serverの設定を変更します。ここでは、デフォルトのままで良いです。変更したい方は、/etc/ssh_config
を変更して下さい。
$ sudo systemctl start sshd
SSH Serverを起動時に有効にします。
$ sudo systemctl enable sshd.service
一応、ホストからアクセスできるか確認してみましょう。
$ ssh manjaro@192.168.56.101
Firewallを有効にし、ステータスを確認します。
$ cp /etc/iptables/{simple_firewall,iptables}.rules
$ systemctl enable iptables.service
ゲスト側の設定を/etc/ssh/sshd_config
にて行います。最低限のセキュリティを強化します。
Port 55010
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
SSHの設定
公開鍵の発行と受け渡しです。ホスト側で行います。一般的なスクリプトを使います。
$ ssh-keygen -t rsa
$ brew install ssh-copy-id
$ ssh-copy-id -i ~/.ssh/id_rsa.pub manjaro@192.168.56.101
SShデーモンの再起動は以下のコマンドを実行します。ゲスト側で行います。
$ sudo systemctl restart sshd
接続は、以下の様な感じで行えます。
$ ssh manjaro@192.168.56.101 -p 55010
Cygwinの設定
CygwinのOpenSSHを利用し、SSH Serverを立ち上げてみます。これにより、Cygwinを導入しているWindowsにもSSH接続可能になります。便利です。
$ apt-cyg install openssh
$ ssh-host-config -y
$ cygrunsrv -S sshd
$ passwd
ファイアウォールの設定を変更します。ポート22を開けましょう。これは、Windows側の設定で行います。
試しに接続してみましょう。
ssh -v username@192.168.56.101
次に、サーバーを停止し、設定ファイルを編集します。
$ cygrunsrv -E sshd
$ vim /etc/sshd_config
あとは、サーバーを起動し、クライアントから接続するだけです。
# サーバー(ゲスト側)
$ cygrunsrv -S sshd
# クライアント(ホスト側)
$ ssh username@192.168.56.101 -p 55101
Windowsの自動ログイン
ちなみに、パスワードが設定されると、自動でログインできなくなります。Windowsの自動ログインを解除するには、以下の手順が必要です。
- [スタート] ボタンをクリックし、「netplwiz」と入力して、Enter キーを押します。
- [ユーザー アカウント] ダイアログ ボックスで、自動的にログオンするときに使うアカウントをクリックします。設定を変更できる場合は、[ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要] チェック ボックスをオフにします。
- [OK] をクリックします。
- [自動ログオン] ダイアログ ボックスでユーザーのパスワードを 2 回入力し、[OK] をクリックします。