最近,我根据paramiko制作了一个连接工作站的代码,其中包含不同的用户名(感谢私钥).
我从来没有遇到任何问题,但今天,我有: SSHException: Error reading SSH protocol banner
这很奇怪,因为它在任何连接上都是随机发生的.有没有办法解决它?
我正在尝试开始使用Paramiko库,但是当我尝试连接以下简单程序时,库就会抛出异常:
import paramiko
ssh = paramiko.SSHClient()
ssh.connect('127.0.0.1', username='boatzart', password='mypassword')
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Traceback (most recent call last):
File "test.py", line 6, in <module>
ssh.connect('127.0.0.1')
File "build/bdist.macosx-10.7-intel/egg/paramiko/client.py", line 316, in connect
File "build/bdist.macosx-10.7-intel/egg/paramiko/client.py", line 85, in missing_host_key
paramiko.SSHException: Unknown server 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
无论我尝试哪种服务器都会发生这种情况
我正在使用如下命令连接到机器:
SSH myname@subname@150.25.10.10@20.35.10.10
Run Code Online (Sandbox Code Playgroud)
试图弄清楚如何与 Paramiko 使用这种类型的连接。我尝试过如下命令:
vm.connect('20.35.10.10', username='myname@subname@150.25.10.10', password='passwrd%%%')
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误“身份验证失败”
或者,我尝试改编之前的 stackoverflow 问题的答案:Nested SSH using Python Paramiko 但是,这会引发“身份验证失败”错误。要连接的密钥文件保存在我的 ~/.ssh 文件夹中,我可以通过 shell 中的 ssh 命令进行连接,因此我不认为我的密钥有任何问题。似乎没有任何明确的说明来连接到需要 user@user@ip@ip 格式的计算机
编辑:cyberark 连接的类型是 psmp
编辑:根据 Martin 的请求,这是 ssh -vvv name@subname@ip@ip 的输出,您可以猜测此输出已通过暴露敏感数据进行清理:
C:\>ssh -vvv myname@subname@150.25.10.10@20.35.10.10
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
debug3: Failed to open file:C:/Users/myname/.ssh/config error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_config error:2
debug2: resolve_canonicalize: hostname 20.35.10.10 is address
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to 20.35.10.10 [20.35.10.10] port 22.
debug1: Connection established.
debug3: Failed to open file:C:/Users/myname/.ssh/id_rsa …Run Code Online (Sandbox Code Playgroud)