2

私はparamikoモジュールを使用しており、リモートホストとの間でファイルを簡単に送受信できます。2つのリモートホスト間でファイルをコピーする方法はありますか?ローカルホストにpemファイルがあるので、両方のホストにsshを確立できます。リモートホストで(可能であれば)追加の構成なしでそれを行う方法はありますか?SSHキーとパスワードを使用しますか?

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
privkey = paramiko.RSAKey.from_private_key_file (path_to_priv_key_file)
ssh.connect(host, username = username,  key_filename=path_to_priv_key_file)

リモートホストに接続していますが、試してみると

cmd = "scp –v /usr/local/1.py user1@hos1:/usr/local"
ssh.exec_command(cmd)

私は得るPermission denied (publickey).

4

3 に答える 3

3

おい、フランチェスカ。

次のpython疑似コードが役立つ場合があります... dest_server、source_file、dest_fileを適切なものに置き換えます...テスト済みで動作しています...

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('dest_server-IP', username='user', password='passwd')

print "connected successfully!"

sftp = ssh.open_sftp() 
sftp.put('source_file', 'dest_file_path_in_dest_server') 
sftp.close() 
print "copied successfully!"

乾杯、

サマント

于 2013-02-01T06:08:08.103 に答える
1

基本的に、2 台のマシン間でパスワードを使用せずに接続したいと考えています。他の誰もクライアント マシンにアクセスできないことを保証できない限り、危険です。

3 年前にブログで説明した、パスワードを使用しない接続を作成する方法をご覧ください。scpの問題も解決します。

http://greg-n-blog.blogspot.com/2009/10/ssh-and-scp-without-being-asked-for.html

于 2012-10-17T23:38:40.923 に答える