GNU/Linux >> Linux の 問題 >  >> Linux

複数のマシンで同じ SSH 秘密鍵を使用する

解決策 1:

複数のクライアントから同じ SSH キーを使用できる必要があります。私はネットワークごとに異なる SSH キーを持っており、それらは実際には暗号化された USB ドライブに保存されており、複数の異なるコンピューターから問題なく使用しています。

SSH はファイルのアクセス許可に関して非常にうるさいので、最初に /home/{user} からのすべてのアクセス許可を確認します。 id_rsaまでずっと ファイル自体。

SSH はグループまたはワールドの書き込み権限をあまり気にしないので、必ず chmod go-w してください。 ホームディレクトリと ~/.ssh 初心者向けのディレクトリ。また、それらがあなたのユーザー chown ${USER}:${USER} によって所有されていることも確認します .

SSH キー自体については chmod 600 それら...

必要に応じて、別の SSH の質問への回答に、SSH キーの管理方法に関する追加情報があります。

解決策 2:

Github 側で許可が拒否された場合は、コピーされた SSH キー ファイルではなく、システムのデフォルトが取得されている可能性があります。これを回避する簡単な方法は、~/.ssh/config を素晴らしいものにすることです。 ファイルに以下を入れてください:

Host github.com
  Hostname      github.com
  User          git
  IdentityFile  ~/.ssh/yourkeyfile

これにより、SSH クライアントはそのキーを github.com のみに使用するようになります。

これがお役に立てば幸いです。

解決策 3:

これが古いことは承知していますが、public もコピーする必要があることを指摘しておきます。 2 番目のクライアントのキー

(または ssh-keygen -y -f ~/.ssh/id_rsa_..> ~/.ssh/id_rsa...pub で再計算)

[1] から:

<ブロック引用>
  1. 公開鍵認証方式:"publickey"

    必須の認証「メソッド名」は「publickey」のみです
    認証。すべての実装は、このメソッドをサポートする必要があります。
    ただし、すべてのユーザーが公開鍵を持つ必要があるわけではなく、ほとんどのユーザーはローカル
    ポリシーは、すべてに対して公開鍵認証を要求する可能性は低い

    この方法では、秘密鍵の所有は次のように機能します。
    認証。 この方法は、作成した署名を送信することで機能します
    ユーザーの秘密鍵を使用。 サーバーは、キーが
    ユーザーの有効なオーセンティケーターであり、
    署名は有効です。両方が成立する場合、認証リクエストは
    受け入れられた;それ以外の場合は、拒否する必要があります。サーバーはMAYであることに注意してください
    認証が成功した後、追加の認証を要求します。

ssh クライアントは、公開鍵 (上記の太字で参照されている署名) をサーバーに送信することによって認証を開始します。公開鍵が承認済みの鍵である場合、サーバーはランダムなセッション ID をクライアントに送り返します。次に、クライアントはそのセッション ID を秘密鍵でエンコードし、それをサーバーに送り返します。サーバーは公開鍵を使用してそのセッション ID をデコードし、それが元のセッション ID と一致する場合、クライアントを認証します。

[1] [http://www.openssh.org/txt/rfc4252.txt][1]


Linux
  1. パスワードなしのキーを使用して SSH ログインが機能しませんか?

  2. ssh を介して複数のマシンでログ ファイルを追跡する

  3. SSH:プライベート ネットワークで、ssh 公開鍵を使用せずにソース マシンからリモート マシンにアクセスする方法

  1. cPanelを使用してSSHキーを設定する方法

  2. 公開鍵と秘密鍵のペアを使用したパスワードなしのSSH

  3. Ssh –プライベートSshキーが与えられた場合、公開キーを回復するにはどうすればよいですか?

  1. Ssh証明書が指定されたSshCa秘密鍵によって署名されたことを確認する方法は?

  2. マシン間で秘密鍵を共有しますか?

  3. LinuxまたはMacOSXでSSHを使用してサーバーに接続します