背景
新安装了一台Ubuntu 18.04的虚拟机,安装时已经选择了安装SSH,启动后,自动获取的IP地址是192.168.0.240,但是通过SecureCRT 和 Powershell都无法通过SSH连接虚拟机。
解决方案
可能没有安装SSH,用下列命令安装SSH
sudo apt-get install ssh
sudo apt-get install openssh-server
确认SSH已经启动
younis@testhost:~$ ps -e | grep "ssh"
1291 ? 00:00:00 sshd
1624 ? 00:00:00 sshd
1699 ? 00:00:00 sshd
如果未启动ssh,使用下列命令启动ssh
sudo /etc/init.d/ssh restart
实际上在安装Ubuntu的时候,已经勾选ssh了,查询ssh程序也已经启动,但还是连不上,按照上述方式安装还是不行。
检查防火墙,是否是因为防火墙开启了
sudo ufw status #查看防火墙状态
sudo ufw disable #关闭防火墙
sudo ufw enable #开启防火墙
参考:Ubuntu防火墙命令
检查了防火墙也是默认关闭的,不存在屏蔽掉了22端口。
最后 断开了虚拟机的网络,发现192.168.0.240 的IP地址还是可以ping通的,那么就是有主机配置了静态IP,但是DHCP还是把这个IP地址分配给了这台虚拟机。
找到配置静态IP的这台主机,远程连上去,然后查看了主机名和MAC地址,登录到了DHCP服务器上,给这台主机做了绑定,就不会再分配给其他主机了。当然如果没有DHCP服务器的权限,找有权限的人处理。
做完了DHCP的绑定,重启了Ubuntu 虚拟机,重新获取了一个新的IP地址 192.168.0.251后正常,SSH可以正常连接。