シェルスクリプトでscpまたはsftpを使用してあるサーバーから別のサーバーにファイルをコピーする方法は? [コピー]

シェルスクリプトでscpまたはsftpを使用してあるサーバーから別のサーバーにファイルをコピーする方法は? [コピー]

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

パスワードを使用した場合、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

関連情報