macOSからVirtualBoxのCentOSにssh接続するまで
Follow @venividivici830
環境は、macOS High Sierra バージョン 10.13.5、Virtualbox バージョン 5.2.12 r122591、CentOS-7 (1804)です。
CentOSのインストールまでは、こちらをご覧ください。
以下の例では、ゲストOSであるCentOSを、Macと同じネットワークに属させます。
この場合、VirtualBoxのネットワーク設定で、割り当てをブリッジアダプターにします。
スナップショットは、右上のマシンツールから画面を開き、作成ボタンで作成できます。
rootでCentOSにログインし、下記のコマンドを打つと、ネットワークインターフェースenp0s3が、disconnectedとなっていました。
# nmcli device status
下記のコマンドで、enp0s3をアクティブにします。
# nmcli con up enp0s3
下記のコマンドでIPアドレスを確認すると、筆者の自宅のネットワークはDHCPのため、DHCPでIPアドレスが割り当てられていました。
#ip addr
筆者の自宅のネットワークアドレスは、192.168.11.0/24でした。
PCやスマホと被らない適当なアドレスとして、CentOSに192.168.11.77を割り当てました。
# nmcli con mod enp0s3 ipv4.addresses 192.168.11.77/24
ネットワークインターフェースを再起動します。
# nmcli con down enp0s3
# nmcli con up enp0s3
Mac側のターミナルで、疎通確認ができました。
$ ping 192.168.11.77
PING 192.168.11.77 (192.168.11.77): 56 data bytes
64 bytes from 192.168.11.77: icmp_seq=0 ttl=64 time=0.976 ms
64 bytes from 192.168.11.77: icmp_seq=1 ttl=64 time=0.564 ms
このままだと、マシンを再起動すると、マシン起動時にenp0s3がまたdisconnectedのままになるので、起動時に勝手にアクティブになるようにします。
# nmcli con mod enp0s3 connection.autoconnect yes
一応、dhcpをOFFにしました。
# nmcli c modify enp0s3 ipv4.method manual
念のため、下記のコマンドで、設定されていることを確認しました。
# nmcli con show enp0s3
下記コマンドで再起動し、確かに設定が反映されていることを確認しました。
# shutdown -r now
が、rootでもssh接続できてしまいますので、rootによるsshログインを禁止します。
CentOSにrootでログインし、/etc/ssh/sshd_configを、下記のように書き換えます。
# PermitRootLogin yes
↓
PermitRootLogin no
その後、下記コマンドで、sshdを再起動します。
# systemctl restart sshd
下記、Mac側のコマンドです。
rootでログインできなくなりました。
今後は、一般ユーザーでssh接続し、suコマンドでrootになって作業します。
$ ssh root@192.168.11.77
root@192.168.11.77's password:
Permission denied, please try again.
2018/7/13追記
公開鍵認証を設定する方法について書きました。
macOSからVirtualBoxのCentOSに公開鍵認証でssh接続できるようにする
2018/7/22追記
上記の作業では必要ありませんが、DNSとデフォルトゲートウェイを設定しないと、後々不都合が生じると思います。
下記、192.168.11.1がDNSサーバー、デフォルトゲートウェイの場合。
# nmcli con mod enp0s3 ipv4.dns 192.168.11.1
# nmcli con mod enp0s3 ipv4.gateway 192.168.11.1
環境は、macOS High Sierra バージョン 10.13.5、Virtualbox バージョン 5.2.12 r122591、CentOS-7 (1804)です。
CentOSのインストールまでは、こちらをご覧ください。
以下の例では、ゲストOSであるCentOSを、Macと同じネットワークに属させます。
この場合、VirtualBoxのネットワーク設定で、割り当てをブリッジアダプターにします。
仮想マシンの状態をバックアップ
設定に失敗しても後から元に戻せるように、VirtualBoxのスナップショット機能で、現在の仮想マシンの状態をバックアップしておきました。スナップショットは、右上のマシンツールから画面を開き、作成ボタンで作成できます。
ネットワークの設定
ゲストOSであるCentOS 7に、固定IPアドレスを設定します。
nmcliコマンドを使います。
NetworkManagerというLinuxのネットワーク管理の仕組みがあり、そのコマンドラインインターフェースがnmcliです。rootでCentOSにログインし、下記のコマンドを打つと、ネットワークインターフェースenp0s3が、disconnectedとなっていました。
# nmcli device status
下記のコマンドで、enp0s3をアクティブにします。
# nmcli con up enp0s3
下記のコマンドでIPアドレスを確認すると、筆者の自宅のネットワークはDHCPのため、DHCPでIPアドレスが割り当てられていました。
#ip addr
筆者の自宅のネットワークアドレスは、192.168.11.0/24でした。
PCやスマホと被らない適当なアドレスとして、CentOSに192.168.11.77を割り当てました。
# nmcli con mod enp0s3 ipv4.addresses 192.168.11.77/24
ネットワークインターフェースを再起動します。
# nmcli con down enp0s3
# nmcli con up enp0s3
Mac側のターミナルで、疎通確認ができました。
$ ping 192.168.11.77
PING 192.168.11.77 (192.168.11.77): 56 data bytes
64 bytes from 192.168.11.77: icmp_seq=0 ttl=64 time=0.976 ms
64 bytes from 192.168.11.77: icmp_seq=1 ttl=64 time=0.564 ms
このままだと、マシンを再起動すると、マシン起動時にenp0s3がまたdisconnectedのままになるので、起動時に勝手にアクティブになるようにします。
# nmcli con mod enp0s3 connection.autoconnect yes
一応、dhcpをOFFにしました。
# nmcli c modify enp0s3 ipv4.method manual
念のため、下記のコマンドで、設定されていることを確認しました。
# nmcli con show enp0s3
下記コマンドで再起動し、確かに設定が反映されていることを確認しました。
# shutdown -r now
ssh接続の確認と、rootによるsshログインの禁止
この時点で、MacからCentOSに対してssh接続できます。が、rootでもssh接続できてしまいますので、rootによるsshログインを禁止します。
CentOSにrootでログインし、/etc/ssh/sshd_configを、下記のように書き換えます。
# PermitRootLogin yes
↓
PermitRootLogin no
その後、下記コマンドで、sshdを再起動します。
# systemctl restart sshd
下記、Mac側のコマンドです。
rootでログインできなくなりました。
今後は、一般ユーザーでssh接続し、suコマンドでrootになって作業します。
$ ssh root@192.168.11.77
root@192.168.11.77's password:
Permission denied, please try again.
2018/7/13追記
公開鍵認証を設定する方法について書きました。
macOSからVirtualBoxのCentOSに公開鍵認証でssh接続できるようにする
2018/7/22追記
上記の作業では必要ありませんが、DNSとデフォルトゲートウェイを設定しないと、後々不都合が生じると思います。
下記、192.168.11.1がDNSサーバー、デフォルトゲートウェイの場合。
# nmcli con mod enp0s3 ipv4.dns 192.168.11.1
# nmcli con mod enp0s3 ipv4.gateway 192.168.11.1
コメント
コメントを投稿