一位客户要求我设置一个安全的FTP服务器(使用openSSH或FreeSSHd的SFTP)。
这个新服务器将通过configuration为只允许端口22的防火墙。
这可能听起来很奇怪,但出于安全原因,他们宁愿不打开防火墙上的其他端口。
他们询问服务器是否可以使用端口22作为服务器本身,也可以使用客户端。
服务器运行的是Windows Server 2008 64(带有freeSSH / OpenSSH)
客户端运行Windows XP(使用putty / winscp)
我可以使用端口22而不是通常使用的大端口池吗? (用于连接和数据传输)
如果没有,我怎样才能configurationSFTP服务器使用不同的端口?
有没有一个特定的命令来设置它或freeSSH / openSSH手册?
不同的操作系统是否也会造成我以后可能面对的其他问题?
简单地说,这不能没有很大的努力。
Windows需要在临时端口范围内至less有250个端口。 要在该范围内包含22,您可能需要包含重要系统服务的侦听端口(如果Windows允许范围从1024开始,这是值得怀疑的)
Windows似乎不支持使用NAT更改传出端口。
据我所知,在Windows上没有SSH实现允许明确设置客户端端口。
您的select是:
在服务器前面引入一个设备来操纵stream量。
构build您自己的大量修补的SSH客户端应用程序。
说服你的客户,他们的要求是可笑的。
客户端显然是在这样的假设下运行的:SFTP就像普通的FTP一样,它具有单独的控制和数据连接。 对于SFTP而言,情况并非如此,SFTP服务器上只需要端口22,并且在该端口上复用所有内容。
SFTP和FTP的使用情况相似。 networking方面,他们是完全不同的devise。
但是,我必须指出的是,也有FTPS,这更像是普通的FTP,但是使用encryption技术。
客户端对端口22的要求可能来自FTP的整个主动/被动操作,这与SFTP无关
伊莫,这整个是一种误解。 所以我不愿意回答这个问题。 但是没问题。
通常,您不指定TCP / IP应用程序的源端口。 源端口在本地操作系统自动分配的情况下占99.9%。
此外,源端口在许多情况下是关于TCP / IP连接的唯一独特信息。 所以它不能被修复。 否则,您将无法打开从本地计算机到服务器的多个连接。
即使如果你能修复本地端口(我不知道任何允许的SSH / SFTP客户端),你不能在服务器端进行configuration 。 服务器无法控制客户端使用的本地端口。
虽然可以有解决方法或替代方法,但我不能给你,因为你没有向我们解释为什么你真的想这样做。
我可以像这样继续几个小时,但是我没有想到,我实际上理解你,或者你或者你的客户理解你的/他们想要什么,这是毫无意义的。