1

公開鍵認証によってリモートホストにssh2するためにparamikoを使用したいので、次の手順のように鍵を設定します。

ローカルで:

    Local> ssh-keygen
    Generating 1024-bit dsa key pair
    9 o.oOo..oOo.o
    Key generated.
    Passphrase :
    Again :
    Private key saved to /home/local/.ssh2/id_dsa_1024_a
    Public key saved to /home/local/.ssh2/id_dsa_1024_a.pub

    Local> cd ~/.ssh2
    Local> echo "IdKey id_dsa_1024_a" > identification
    Local> scp id_dsa_1024.pub remote@remote-host:~/.ssh2/local.pub

リモートの場合:

    Remote> ssh-keygen
    ...omit...
    Remote> cd ~/.ssh2
    Remote> echo "Key local.pub" > authorization

上記の事柄の後、私はただssh remote@remote-hostログインするために使うことができます。

ただし、Pythonのparamikoモジュールを使用してremote-hostにログインできませんでした。

    conn = paramiko.SSHClient()
    conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    conn.connect(remote-host, 22, username=remote,password='')

常にエラー:認証に失敗しました。

私は困惑している。:(

4

2 に答える 2

1

key_filename接続時にオプションを設定してみましたか?~/.sshparamikoがSSHCLIクライアントのように秘密鍵を自動的に確認するかどうかはわかりません。

paramikoドキュメント

于 2012-08-15T08:01:30.443 に答える
0
import os
import paramiko
ssh = paramiko.SSHClient()
ssh.load_host_keys(os.path.abspath('.ssh/known_hosts'))
ssh.connect(some_host_in_known_hosts)

これにより、今朝python2.7を使用して同じ問題がかなりうまく修正されました

于 2012-08-28T15:58:58.027 に答える