Thu*_* Ra 3 python linux ssh paramiko ssh-keys
这是我连接服务器的 python 脚本。但是当我运行脚本时,它要求我输入 ssh 密码。我怎样才能避免询问我的 ssh 密码密钥?
host = '192.168.43.3'
user = 'root'
passwd = 'ppawd'
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(host, username=user, password=passwd)
transport = ssh.get_transport()
channel = transport.open_session()
channel.setblocking(1)
channel.settimeout(30)
command = "ls -a"
ssh.exec_command(command)
Run Code Online (Sandbox Code Playgroud)
小智 7
我遇到了同样的问题。我认为这里的其他答案没有意识到这个问题的真正目的。这是一个老问题,但我想帮助像我这样在谷歌搜索后最终来到这里的其他人。
您需要禁用 ssh 代理功能allow_agent=False,然后它将不再提示您输入密码。Paramiko 正在尝试连接到 ssh 代理,我假设尝试读取密钥。我还添加了look_for_keys=False,因为它将禁用检查要使用的私钥。
例子:
client.connect(server, port=port, username=username, password=password, look_for_keys=False, allow_agent=False)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10494 次 |
| 最近记录: |