そのため、sshを使用して複数の異なるユーザーとしてサーバーにログインする必要があり、ユーザーのパスワードを含むファイルから毎回パスワードをコピーするのに疲れました。パスワードを無効にすることはできません。私のパスワードではなく、ゲーム用のパスワードです。
私は以下を試してみました。
$ cat /path/to/myfile | ssh user@localhost
stdinが端末ではないため、疑似端末が割り当てられていないというメッセージが表示されます。
どのように動作するのか分かりません。
ベストアンサー1
SSHキー
まず、最善の解決策は新しいSSHキーペアを作成し、このキーを使用してすべてのサーバー(またはデフォルト設定に応じて一部のサーバー)にログインすることです。実行方法がわからない場合は、stackexchangeで複数回見つけることができますが、ショートカットは次のようになります。
ssh-keygen; ssh-copy-id your-host
デフォルトでは、1つのパスワードで一度だけログインしたら、キーにパスワードを設定する必要があります。
SSHパス
ただし、本当にファイルのパスワードを使用する必要がある場合は、コメントに記載されているように非常に簡単に使用できます。
sshpass -f /path/to/myfile ssh user@localhost
ssh
ただし、これはプレーンテキストで保存されたパスワードを使用するのに実際には好まれる方法ではありません。
予想される
expect
次のスクリプトを使用して同じことを実行できます。
#!/usr/local/bin/expect
spawn ssh [email protected]
expect "password:"
send "your_password\n";
interact