SSHキーを使用してもパスワードなしでログインできません。

SSHキーを使用してもパスワードなしでログインできません。

2つの異なるホストに2つのシェルアカウントがあります。

  • シェルA:シェルSSHキーを使用してログインしたい(server-A.com)
  • シェルB:Aへのログインに使用するシェル。パスワードは必要ありませんが、SSHキーを使用してください(server-B.com)。

私はserver-A.comシステム管理者に電子メールを送り、彼は私に次のチュートリアルURLを提供しました。

私は次のことをしました。

  • server-A.comで秘密鍵/公開鍵SSH鍵生成を使用し、秘密鍵をserver-B.comに配置します。ssh-keygen -t rsa -C [email protected]~/.ssh/server-B.com
  • 走ってchmod 700 ~/.ssh/行ったchmod 600 ~/.ssh/server-B.com
  • server-A.com公開鍵を~/.ssh/authorized_keysserver-B.comに追加しました。

    $ cat ~/.ssh/server-B.com.pub >> ~/.ssh/authorized_keys     # on server-B.com
    
  • 確認しました~/.ssh/config(いいえ)、/etc/ssh/ssh_config次の内容が含まれています(他の#comment行は印刷されません)

    #   PasswordAuthentication yes
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    

    シェルBから:

    $ ssh-keygen -f "/home/username/.ssh/known_hosts" -R server-A.com
    

メモ:私はチュートリアルに従いました。https://kb.iu.edu/d/aewsそしてhttps://www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/create-with-openssh/

何が間違っていますか?

ベストアンサー1

Bログインするには秘密鍵だけが必要ですA。リモートシステムAでキーを生成しないでください。リモートシステムは、あなたの個人的なアイデンティティを知る必要はありません。

AからシステムにログインしようとしていますB。これは意味する~/.ssh/authorized_keys Aシステムに公開鍵を含める必要があります(入力できるように)。システムはBログインにローカルでこのファイルを必要としませんA

~/.ssh両方のホストに対する権限が700あり、その中にあるファイルに対する600権限(含まれている~/.ssh/authorized_keysAがあることを確認する必要があります。

しかも実際には使用~/.ssh/server-B.comBファイルにキーを書き込むには、以下をA使用する必要がありますssh

ssh -i ~/.ssh/server-B.com  [email protected]

またはssh-agentキーを実行して追加します。

eval "$( ssh-agent )"
ssh-add ~/.ssh/server-B.com

ssh [email protected]

または、システムに次の~/.ssh/config項目を追加します。BA

Host A
    User a-user
    Hostname server-A.com
    IdentityFile %d/.ssh/server-B.com

その後、使用

ssh A

ただ使用することもできます基本既に別の秘密鍵がある場合を除き、鍵ファイルの名前です。

おすすめ記事