シェル スクリプトで scp または sftp を使用して、あるサーバーから別のサーバーにファイルをコピーするにはどうすればよいですか?

シェル スクリプトで scp または sftp を使用して、あるサーバーから別のサーバーにファイルをコピーするにはどうすればよいですか?

現在、 または を使用して、あるサーバーから別のサーバーにファイルをコピーするスクリプトを作成していますscpsftp、認証について混乱しています。

使用する場合scp、パスワードはどのように渡せばいいですか?

答え1

このような自動化された使用では、パスワード認証ではなく、キーベースの認証を使用する必要があります。キーベースでは、パスワードの入力を必要とせずに接続が行われます。

SSH クライアントを使用している側でキー ペアを生成し、公開キーを SSH サーバーにコピーする必要があります。これを実現する方法については数え切れないほどのページがありますが、ここでは 1 つを紹介します。

https://www.linode.com/docs/security/authentication/use-public-key-authentication-with-ssh/

答え2

セキュリティを強化するためにSSHキーを使用する

または、sshpass をインストールして次のように実行することもできます。

sshpass -p "password" scp file.txt user@machine:/path

関連情報