
を使用してパスワードを渡す方法はありますか.ssh/config
? 特定のユーザーでサーバーにログインし、接続時に自動的に root に切り替える方法を設定しようとしています (パスワードを入力する必要があります)。
今のところ、私は以下を持っています:
Host server
HostName hostname.server.com
User not-root
Port 1234
RemoteCommand su
- 次の手順を実行する必要があります (ユーザー -> su)
- このキー(パスフレーズ付き)を使用する必要があります
答え1
一般的に、ほとんどのシステム管理者は、自動化がパスワードに依存しないように構成します。
パスワード
SSH 認証の場合、最も簡単な方法は、秘密鍵がパスワードで保護されていないキー ペアを作成することです。
秘密 SSH キーにパスフレーズが必要な場合は、そのキー/パスフレーズを ssh-agent (または Mac OSX キーチェーン) に追加するのは 1 回限りのアクションであり、その後はパスフレーズの入力を求められることはありません。
それが不可能な場合は、sshpass
スクリプト/コマンドでは、コマンドラインからパスワード/パスフレーズを使用します
サーバー上
ここでも、最も簡単で従来の解決策は、パスワードを入力しなくても済むようにすることです。
そのための選択肢は、あなたが持っている制御のレベルによって異なります。
NOPASSWD sudo ポリシーを設定します (理想的には関連するコマンドのみ)。これにより、パスフレーズを入力せずに対話型ログイン セッションを実行できる
sudo some-command --with args
ようになります。sudo -i
直接リモート SSH ログイン用にルート アカウントを設定します (最善の解決策ではありませんが、パスワード認証を許可せず、キーベースの認証のみを許可する場合など)
設定に応じて、アカウントを「sudo」、「wheel」、または「admin」グループに追加するだけで、完全な管理者権限が得られます。
本当にパスワードを送信したい場合、expect
それを自動化するためのユーティリティは