パスワード

パスワード

を使用してパスワードを渡す方法はありますか.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それを自動化するためのユーティリティは

関連情報