psftp指定端口执行open命令提示invalid port number报错排查
问题原因
psftp的open命令语法和你用惯的OpenSSH ssh命令不兼容:交互模式下open的所有选项参数必须写在主机地址前面,你把example.com放在了参数最前面,后面的-P 1234根本不会被识别为端口配置,程序解析逻辑混乱后把非法字段当成了端口号,才会报invalid port number的错,和你服务端的端口配置、可用性没有任何关系。
可用的正确连接方式
二选一即可:
- 进入psftp交互终端后,调整参数顺序执行open命令:
open -P 1234 -l <你的用户名> example.com
- 不用进psftp交互界面,直接在系统命令行启动psftp时带全参数连接:
psftp -P 1234 <你的用户名>@example.com
补充提示
这是PuTTY全系列工具和OpenSSH客户端的常见语法差异,不光psftp,pscp、plink等工具的交互内指令都要求选项参数前置在目标主机地址之前,后续用这类工具遇到类似参数不生效的问题可以先检查参数顺序。
内容的提问来源于stack exchange,提问作者Johnny Canuck
相关产品推荐
相关产品推荐

