パスワード付き scp の使用

パスワード付き scp の使用

パスワードの入力を求められるのではなく、SCP へのパラメータとしてパスワードを入力することはできますか?

SCP を使用してファイルをコピーするときにパスワードを保存するにはどうすればよいですか? この質問は似ていますが、回答では SSH パスワードを完全に廃止することについて扱っています。

答え1

いくつかのオプションがあります:

  1. sshpassを使用する

次のコマンドを実行します:

sshpass -p 'password' scp filename user@host:
  • sshpassをインストールします:

    • Ubuntuの場合:

    sudo apt install sshpass

sshpass マン

sshpass - 非対話型 ssh パスワード プロバイダー

sshpass は、「キーボード インタラクティブ」パスワード認証と呼ばれるモードを使用して、非対話モードで ssh を実行するために設計されたユーティリティです。

ssh は直接 TTY アクセスを使用して、パスワードが実際に対話型キーボード ユーザーによって発行されたことを確認します。sshpass は専用の tty で ssh を実行し、対話型ユーザーからパスワードを取得していると思わせます。

実行するコマンドは、sshpass の独自のオプションの後に指定されます。通常は引数付きの「ssh」ですが、他のコマンドでもかまいません。ただし、ssh で使用されるパスワード プロンプトは現在 sshpass にハードコードされています。

  1. 使用期待する(または他のスクリプト)

SSHパスワードプロンプトを識別するとパスワードを挿入するスクリプトを作成します。

  1. キーペアを使用した ssh の使用 (パスワードを使用する代わりに)

私見ですが、これが最も安全な方法であり、パスワードを使用する必要がありません。

公開鍵/秘密鍵を使用して、パスワードを入力せずに操作をssh実行します。scp

答え2

どのように行うかについての答えはすでにあるので、なぜ行わないのかに焦点を当てます。

  • コマンドラインでパスワードを渡すと、ローカルユーザー、psまたはその他のプロセスリスターによってパスワードが盗み見られる可能性があります。
  • 推測しにくく、覚えやすいパスワードを作成するのは難しいため、ssh ではパスワードを使用しないでください。

代わりに、公開キー/秘密キーを使用し、キーエージェントを使用してキーを一時的に記憶します。

関連情報