一:首先查看虚拟机防火墙是否关闭?
我一般为了省事情,直接把防火墙模块给删掉了 也就是用第二个命令把iptables给卸载。
1.关闭ubuntu的防火墙 ufw disable
2.卸载了iptables apt-get remove iptables
iptables -F
总之,当你要在你的服务器上做任何变更时,最好有一个测试环境做过充分的测试再应用到你的服务器.除此之外,要用好iptables,那就要理解 iptables的运行原理,知道对于每一个数据包iptables是怎么样来处理的.这样才能准确地书写规则,避免带来不必要的麻烦.
2.
默认情况下ubuntu无firewall,除非你自己安装了,怎么装的就怎么删呗。。
如果是已启用的自备的iptables 删了就行了
sudo apt-get remove iptables
不记得apt-get 要移除是不是 remove 吧,有些日子没用ubuntu了
iptables是内核模块删除不了滴
现查看一下你iptables的规则
sudo iptables -L
sudo iptables -t nat -L
如果都是空的就不是iptables的问题
如果有许多规则的话就清空规则并修改默认策略
sudo iptables -F
sudo iptables -t nat -F
sudo iptables -P ACCEPT
sudo iptables -t nat -P ACCEPT
二:如果防火墙关闭后还连不上SSH,那么现在就要坚持一下虚拟机SSH是否已经安装好了。(我的是新系统所以一开始并没有安装好SSH)
SSH分客户端openssh-client和openssh-server
如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo
apt-get install openssh-client),如果要使本机开放SSH服务就需要安装openssh-server
sudo apt-get install openssh-server
然后确认sshserver是否启动了:
ps -e |grep ssh
如果看到sshd那说明ssh-server已经启动了。
如果没有则可以这样启动:sudo /etc/init.d/ssh start 或者 service ssh start
ssh-server配置文件位于/etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。
然后重启SSH服务:
sudo
/etc/init.d/ssh stop
sudo /etc/init.d/ssh start
然后使用以下方式登陆SSH:
ssh username@192.168.1.112 username为192.168.1.112 机器上的用户,需要输入密码。
---------------------
作者:duola_rain
来源:CSDN
原文:https://blog.csdn.net/duola_rain/article/details/8796911?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!