Paramikoを導入してpythonでのssh接続が可能になったので、今度はscpによるファイル転送を実装してみます。
PythonでSSH接続(Paramiko) - Why it doesn't work?
1. scpモジュールのインストール
いつものようにpipコマンドで。
pip install scp
2. scpによるファイルダウンロード
paramikoによるssh接続は前回の記事と同じです。
import paramiko import scp ip_addr= '169.254.xxx.xxx' user_name = 'root' private_key = 'private_key.txt' client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(hostname=ip_addr, port=22, username=user_name, key_filename=private_key) # create scp client object scp_client = scp.SCPClient(client.get_transport()) # Get request to scp scp_client.get('/home/root/xxx.txt') scp_client.close() client.close()
これで、"xxx.txt"がダウンロードされます。
3. scpによるファイルアップロード
ssh接続、切断処理は同じなので省略します。
# create scp client object scp_client = scp.SCPClient(client.get_transport()) # Upload one fille to the remote directry scp_client.put('xxx2.txt', recursive=True, remote_path='/home/root/')
これで、"xxx2.txt"がアップロードされます。
経過表示の記事を追加しました。(2019/07/01)
www.whyit.work