使用putty时出现“错误:端口号无效”

时间:2010-09-10 20:16:36

标签: java command-line putty

我正在尝试通过Java将put连接到远程服务器。我能够做到 从双击putty.exe并执行ssh。

如何从命令提示符处执行此操作。我收到了invalid port number条消息。但它通过putty.exe(GUI)

工作

我正在使用:

c:> putty.exe -ssh -l username -pw password -m someCommandtoExecute remote_host(_name or IP)

3 个答案:

答案 0 :(得分:2)

我今晚在连接到BSD服务器的Windows计算机上进行了一些测试。如果我输入

putty.exe -l username -pw password server.domain.com

我连接没有问题。如果我试试

putty.exe -l username -P password server.domain.com

我收到一个警告框,标题为PuTTY Internal Error,邮件为Invalid Port Number。事实上,这是我唯一能得到错误信息的时间。

如果您使用的是良好密码(混合大小写,特殊符号等),则密码可能是问题的根源。也许可以尝试用双引号括起密码,如

putty.exe -l username -pw "password" server.domain.com

您使用的是最新版本的PuTTY吗?我使用的是0.60,这似乎是最新版本。

最后,我知道这些声音非常简单,您是在测试时手动输入命令提示符,还是作为更大脚本的一部分进行测试?为简单起见,在尝试将其集成到更大的流程之前,我会手动工作。出于同样的原因,我也试图在试图找出这个问题时尝试自动运行远程命令(-m)。它看起来像你已经存在,但是检查它绝对不会伤害......

如果你不能说,我有点在这里抓稻草。我似乎无法复制问题,除非在命令行的某处包含-P

答案 1 :(得分:0)

使用

获取连接时没有任何问题
C:\Program Files\PuTTY> putty -ssh -l <username> <hostname or host ip>

唯一可以想到的事情是:1)脚本作为-m参数的一部分使用的问题,或2)错误使用大写字母。错误消息是否可以由脚本而不是命令生成?你可以使用

吗?
C:\Program Files\PuTTY> putty -ssh -L <username> <hostname or host ip>

资本L用于端口转发设置,而小写l用于指定登录(用户名)。

几点说明:

plink在没有打开新窗口的情况下完成了类似的工作。可能值得探索,但命令几乎相同。

在命令行上放置明文密码通常不是一个好主意。你最好不要探索密钥,特别是如果这是一个自动化的过程。快速搜索会显示各种链接,但您需要检查处理特定情况的最佳方法。如果您希望将其作为自动脚本的一部分运行,那么您将执行与您希望在已经运行Pageant的交互式会话中运行它不同的事情。

如果你选择了密钥,那么你的命令行将变为

putty -ssh <username>@<host> -m <script on local machine>

答案 2 :(得分:0)

我在Win10putty 0.60以及TortoiseSVN 1.9.4(Build 27285 - 64 Bit,2016/04/24 13:59:58)上遇到此问题 同时TortoiseSVN | Show log网址的svn+ssh

Elliot Lee所述,删除Tortoise的ssh客户端条目会修复它:
TortoiseSVN -> Settings类别Network,空SSH client。 (之前我在这里path/to/putty.exe