相关疑难解决方法(0)

如何通过python Paramiko与ppk公钥进行ssh连接

我正在使用Paramiko通过ssh连接到服务器.

基本身份验证运行良好,但我无法理解如何连接公钥.

当我用putty连接时,服务器告诉我这个:

Using username "root".
Authenticating with public key "rsa-key@ddddd.com"
Passphrase for key "rsa-key@ddddd.com": [i've inserted the passphrase here]
Last login: Mon Dec  5 09:25:18 2011 from ...
Run Code Online (Sandbox Code Playgroud)

我用这个ppk文件连接到它:

PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key@dddd.com
Public-Lines: 4
[4 lines key]
Private-Lines: 8
[8 lines key]
Private-MAC: [hash]
Run Code Online (Sandbox Code Playgroud)

使用基本身份验证,我得到的错误(来自日志)是:

DEB [20111205-09:48:44.328] thr=1   paramiko.transport: userauth is OK
DEB [20111205-09:48:44.927] thr=1   paramiko.transport: Authentication type (password) not permitted.
DEB [20111205-09:48:44.927] thr=1   paramiko.transport: Allowed methods: ['publickey', 'gssapi-with-mic']
Run Code Online (Sandbox Code Playgroud)

我试图包含那个ppk文件并设置为auth_public_key,但是没有用.

你能帮助我吗?

python ssh putty paramiko public-key

52
推荐指数
3
解决办法
9万
查看次数

帕拉米科"未知服务器"

我正在尝试开始使用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)

无论我尝试哪种服务器都会发生这种情况

python macos ssh paramiko

27
推荐指数
5
解决办法
3万
查看次数

在 Python 中的 Paramiko 中强制密码身份验证(忽略 .ssh 文件夹中的密钥)

我正在尝试编写一个小型 Python 程序来检查 SSH 服务器是否允许密码身份验证。这是目前的计划:

import base64
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('ssh.example.com', username='strongbad', password='thecheat')
stdin, stdout, stderr = client.exec_command('ls')
for line in stdout:
    print('... ' + line.strip('\n'))
client.close()
Run Code Online (Sandbox Code Playgroud)

这个想法是 grep 输出或稍后try catchconnect语句周围放置一个块。

然而,我的问题是,我运行该程序的某些系统可以通过存储在~/.ssh. 在这些情况下,连接只会成功(我想避免这种情况)。

那么,问题来了:有人知道强制Paramiko(或其他SSH 客户端)使用密码的方法吗?

谢谢

python ssh paramiko python-3.x

7
推荐指数
1
解决办法
4408
查看次数

标签 统计

paramiko ×3

python ×3

ssh ×3

macos ×1

public-key ×1

putty ×1

python-3.x ×1