一、ssh工具使用原理
ssh(SecureShellClient)安装在windows上,而在linux上有一个服务叫sshd,这个服务占用22号端口,默认是启动的。但是22端口默认不是信任的,需要手动设置。这就可以解释在使用ssh中遇到的问题。
问题1:windows和linux可以ping通,但是ssh工具连不上
答案1:因为直接ping地址找的是80端口,而不是22,加上22端口号再ping可能就不通了
问题2:通过netstat -anp | more 发现sshd启动着,但是ssh工具连不上
答案2:因为22端口被防火墙屏蔽了
二、使用ssh工具互联不上的解决办法
方法一 解决sshd服务的问题
ps aux|grep ssh查看ssh是否启动,或者netstat -anp | more看看22号端口是否监听。若没有启动,可进服务启动sshd或者命令sudo ssh start。若报没有该服务这个就说明ssh没有安装,装下openssh。
方法二 让防火墙将22号端口放开
修改/etc/sysconfig/iptables文件,输入命令vi /etc/sysconfig/iptables,添加 -A XXXXXXX-INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT,这样就把22号端口放开了。当然在安装Linux的在设置防火墙时,将sshd服务设为信任即可。
三、Linux防火墙相关知识
1 永久性生效,重启后不会复原
开启:chkconfig iptables on
关闭:chkconfig iptables off
2 即时生效,重启后复原
开启:service iptables start
关闭:service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。