pscp
(PuTTYから)を使用して、Windows PCからリモートLinuxシステムにファイルをコピーしたい。この方法でpscpコマンドを呼び出す小さなスクリプトを作成しました。
"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts\* [email protected]:/root/scripts
"C:\Users\hp\Desktop\pscp.exe" -scp C:\Users\hp\Desktop\scripts2\* [email protected]:/root/scripts2
pause
しかし、このbatスクリプトを起動すると、パスワードの入力を求められるため、パスワードを手動で入力します。
バッチファイルを使用してパスワードを自動的に入力する方法はありますか?
PuTTYから ドキュメント
5.2.2.6 -pw passw指定されたパスワードでログイン
ホストへの接続にパスワードが必要な場合、PSCPは対話的にパスワードを要求します。ただし、これは常に適切とは限りません。自動化されたジョブの一部としてPSCPを実行している場合、手作業でパスワードを入力することはできません。 PSCPの-pwオプションを使用すると、コマンドラインで使用するパスワードを指定できます。
pscp -pw yourPasswordHere C:\Users\testUser\Downloads\test.sh [email protected]:/home/testUser
-pwオプションを指定したコマンドのサンプルが誰も投稿していないことに気付きました。
このようなものを自分で解決できます。使用 /?
オプションを使用してヘルプを表示します。関連する部分は以下のとおりです。
> pscp /? PuTTY Secure Copy client Release 0.60 使用法:pscp [options] [user @] Host:source target pscp [options] source [source ...] [user @] Host:target pscp [options] -ls [user @] Host:filespec Options: ... ... -lユーザーが指定されたユーザー名で接続する -pw passw login with specified password ......
使用 -l
および-pw
オプションは、ユーザーとパスワードを指定します。
したがって、それはあなたが尋ねた特定の質問に答えている間、あなたにとって本当の機会はコマンドラインユーティリティからドキュメントを入手する方法を学ぶことです。
sshpass -p'password' pscp -A -H "ip" -t 20 -l root /var/www/html/temp_santosh.txt /tmp/
sshpass
をpscp
の直前に-p
オプションとともに使用できます
PuTTYを使用して、パスワードなしでリモートログインをセットアップします。これには、puttygenコマンドが含まれます。秘密鍵が必要になり、ターゲットには公開鍵が必要になります。パスワードを入力せずに適切な秘密鍵ファイルとログインがあることを確認したら、pscpの「-i」秘密鍵オプションを使用して参照できます。許可されていない場合、PuTTY接続なしでキーをセットアップできる場合がありますが、これが最も簡単な方法です。明確にパスワードにノーと言うだけです:
C:\Users\riglerjo>pscp -i .ssh\rigler_rsa.ppk test.txt [email protected]:.
test.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100%