针对NAT虚拟机的SSH设置
环境配置: 处于NAT环境下的ubuntu server虚拟机
由于NAT虚拟机的端口处于物理机的子网中,直接使用物理机ping虚拟机的IP地址是无法联通的
需要使用虚拟机软件的端口转发功能,将NAT虚拟机的ssh的22端口转发到物理机的端口(这里选择的是3022)
设置端口转发并不需要重启虚拟机.
在对应的终端中输入连接指令或是在GUI ssh软件中更改默认的22端口进行连接
ssh -l <UserID> -p 3022 localhost
-l : 用于指定连接的用户是谁
-p : 用于指定连接到的对应端口是什么
使用private/public key进行登录
在VM上使用以下代码生成密钥对
ssh-keygen
默认生成在 $HOME/.ssh/id_rsa (私钥)和 $HOME/.ssh/id_rsa.pub (公钥),但是可以手动输入密钥文件名称进行更改
在物理机上使用 ssh-copy-id (Mac OS) 或是使用 cat id_rsa.pub >> $HOME/.ssh/authorized_keys 获取公钥
(听说这一流程在windows上较为复杂,由于本人是使用windows机器,所以并没有进行尝试)