公司有一些设备是需要在linux服务器进行测试,然后将数据传输到server服务器上,我安装5版本的winsshd,然后在通信OK一个月后出了问题 ,在linux下无法使用ssh进行公钥私钥验证,我重新配置的winsshd,重新生成了公钥私钥,knowhost信息也删除了,还是不行,linux下的配置也是没有问题的,于是我开始有点讨厌这个英文小软件。

   我知道公司的network有对linux服务器和server中间做了防火墙,于是打电话询问,确实是给开通了22端口(默认的没改)。后来实在没办法,打电话给一个专做linux运维的朋友,问他ssh是否仅仅使用22端口,他回答的斩钉截铁,不管是ssh还是scp传文件紧用这个端口,于是我没有办法了

  我在自己电脑上用虚拟机进行简单的局域网搭建,然后测试,我的配置完全可以OK,那为什么在服务器上就不行呢,问题可能还出现防火墙上,于是我又打开了服务器,

   此时server上有弹出来了winsshd的请求连接信息,反正没头绪,于是我点activities出来看看,发现每个IP后面都跟着一个端口号,而且是20000到60000之间,我一度怀疑这是端口号么,我用netstat查看了下,发现还真是端口号,还是TCP协议的,而且可以进行连接,然后我又在我自己电脑进行查看,发现确实每次ssh进行验证的时候都是随机使用 端口号,只有scp协议才使用22端口,我不知道这是否和linux下验证有差别,但是我知道防火墙肯定不会让随机的端***蹦乱跳的。

   winsshd其实还是不错的,因为我可以使用简单的命令行远程工具连接它,其实是多次一句了,在dos net就行了,不过还是多了个玩具,而且这个玩具还可以进行拒绝服务***,公网下就比较不安全了。而且对于大型局域网,过防火墙是个问题o(╯□╰)o