我正在尝试通过putty通过Java建立到远程服务器的ssh连接。我可以通过双击putty.exe并执行ssh来完成此操作。
如何从命令提示符执行此操作。我收到invalid port number
消息。但它通过图形用户界面(putty.exe)工作
我正在使用:
c:> putty.exe -ssh -l username -pw password -m someCommandtoExecute remote_host(_name or IP)
发布于 2010-09-15 10:08:04
我今晚在一台连接到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
。
发布于 2010-09-11 04:37:27
我不会有任何问题获得连接使用
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>
发布于 2016-06-14 21:36:05
我在使用putty 0.60
和TortoiseSVN 1.9.4
的Win10
上遇到了这个问题(Build 27285 - 64位,2016/04/24 13:59:58)
而svn+ssh
URL的TortoiseSVN | Show log
。
正如Elliot Lee所描述的,删除Tortoise的ssh客户端项修复了它:
TortoiseSVN -> Settings
类别Network
,空SSH client
。(我以前在这里有过path/to/putty.exe
)
https://stackoverflow.com/questions/3688027
复制相似问题