【发布时间】:2022-04-03 16:03:45
【问题描述】:
我是 python/paramiko 的新手,正在编写我的第一个脚本以通过 SSH 将 Kali linux VB 连接到我的本地主机 IP 127.0.0.1:
import paramiko
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('127.0.0.1', username='l', password='STD2018$H')
stdin, stdout, stderr=ssh.exec_command('cat /etc/passwd')
for line in stdout.readline():
print line.strip()
ssh.close()
我收到以下错误消息:
Traceback (most recent call last):
File "draft2.py", line 6, in <module>
ssh.connect('127.0.0.1', username='user', password='pass')
File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect
raise NoValidConnectionsError(errors)
paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 22 on 127.0.0.1
最初我在将本地主机连接到 127.0.0.1 时遇到问题,但在系统偏好设置下打开了“远程登录”,但我现在似乎无法将 paramiko SSH 客户端从我的虚拟机连接到它,我已尝试关闭防火墙,打开路由器上的 22 端口,但似乎不起作用,任何指导都会有帮助,谢谢
【问题讨论】:
-
你能从你的虚拟盒子ping到远程连接吗?如果您执行
ssh <remote_host>会怎样,如果您能够从命令行执行 ssh,那么您也应该能够从 paramiko ssh 执行此操作。 -
ssh 127.0.0.1(来自 shell)是否在您的机器上工作? sshd 是否在您的 VM 上运行?造成这种情况的原因太多,细节太少。 -
您正在尝试从 VM SSH 到
127.0.0.1??那永远不会转到您的“主机 IP”