SSHを使用したIdentityFileの指定

SSHを使用したIdentityFileの指定

リモートサーバーへのSSHクライアント接続を確立するためのより効率的なアプローチを取ろうとします。公開鍵と秘密鍵のペアを作成し、それを使用してリモートssh-copy-idサーバーに公開鍵をインストールしました。

しかし、ssh -i ~/.ssh/mykey user@host公開鍵認証でパスワードをバイパスするには、パスワードを入力する必要がありますか?

この問題を解決するために、このパスを使用して.bashrcエイリアスを作成しました。しかし、これは可能な方法ですか?それとも、一般的な鍵を使用できるように公開鍵を許可するサーバーの問題ですかssh user@host

ベストアンサー1

鍵ペア認証が正常に利用可能な場合は、ssh -i ~/.ssh/mykey user@hostSSHクライアント構成を使用して簡単に自動化できます。

たとえば、次をファイルに追加すると、次のようになります~/.ssh/config

Host hostname
  User username
  IdentityFile ~/.ssh/mykey
  IdentitiesOnly yes # see comment in answer below

続行すると、ssh hostnameユーザー名とIDファイルの設定はファイルによって処理され、config彼らが言うように競う準備が整いました。

このIdentityFileディレクティブ(オーバーライドされた-iスイッチ)には、およびsshを見つけるためのデフォルト設定があり、秘密鍵の別のファイル名はファイルまたはコマンドラインで指定する必要があります。~/.ssh/id_dsa~/.ssh/id_ecdsa~/.ssh/id_ed25519~/.ssh/id_rsaconfig-i

SSH設定に追加すると、IdentityFileクライアントがまだ主キーを送信していることがわかります(ssh -vv出力を参照)。複数のアカウントでgithubなどのサイトを使用すると問題になる可能性があります。IdentitiesOnly yesSSHが指定したキーのみを使用するには、そのキーを含める必要があります。

おすすめ記事