Xshell5链接Linux虚拟机的时候会出现
Xshell连接问题:出现下列信息
Connecting to 192.168.1.90:22...
Could not connect to '192.168.1.90' (port 22): Connection failed.
解决办法分两步:一、关闭防火墙二、启用SSH
关闭防火墙
1.关闭ubuntu的防火墙 ufw disable
2.卸载了iptables apt-get remove iptables
1.用iptables -F这个命令来关闭防火墙,但是使用这个命令前,千万记得用iptables
-L查看一下你的系统中所有链的默认target,iptables
-F这个命令只是清除所有规则,只不会真正关闭iptables.想象一下,如果你的链默认target是DROP,本来你有规则来允许一些特定的端口,
但一旦应用iptables -L ,清除了所有规则以后,默认的target就会阻止任何访问,当然包括远程ssh管理服务器的你.
所以我建议的关闭防火墙命令是
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
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
buntu中ssh-server的安装与开机启动ssh程序分为有客户端程序openssh-client和服务端程序openssh-server。如果需要ssh登陆到别的电脑,需要安装openssh-client,该程序ubuntu是默认安装的。而如果需要从远程连接到本机,则需要安装openssh-server,该程序需要自己安装。在Ubuntu下安装openssh-server非常简单。安装openssh-server$ sudo apt-get install openssh-server查看openssh-server是否启动$ ps -e | grep ssh进程ssh-agent是客户端,sshd为服务器端,如果结果中有sshd的进程说明openssh-server已经启动,如果没有则需运行命令启动。启动、停止和重启openssh-server的命令如下/etc/init.d/ssh start/etc/init.d/ssh stop/etc/init.d/ssh restart配置openssh-serveropenssh-server配置文件位于/etc/ssh/sshd_config,在这里可以配置SSH的服务端口等,例如:默认端口是22,可以自定义为其他端口号,如222,然后需要重启SSH服务。Ubuntu中配置openssh-server开机自动启动打开/etc/rc.local文件,在exit 0语句前加入:/etc/init.d/ssh start关于客户端连接客户端可以用putty、SecureCRT、SSH Secure Shell Client等SSH 客户端软件,输入您服务器的IP地址,并且输入登录的用户和密码就可以登录了。我常选择的客户端软件是putty。关于ssh的 加密实际上ssh的使用远不止这些,ssh还有很重要的一部分内容,那就是ssh通过公钥私钥进行加密,例如git就可以采用加密ssh的方式访问。关于ssh的加密这里暂不讨论,有机会再补充,可以查看相关资料了解。