このガイドを使用して公開鍵認証を設定しています: https://help.ubuntu.com/community/SSH/OpenSSH/Keys 。
ドキュメントでは~/.ssh/authorized_keys
ファイルについて説明していますが、私のホームディレクトリである~/.ssh/authorized_keys
ファイルはありません。
このファイルは自動的に生成されますか?
Maverick sshdのマニュアルページ は、OpenSSHのインストール時にファイルを作成するかどうか、またはファイルを手動で作成する必要があるかどうかを指定しません。
自分で作成する前に、このファイルがないのは正常かどうか疑問に思いました。
~/.ssh/authorized_keys
はユーザーごとのファイルです。 UNIXプログラムをインストールしても、ユーザーのホームディレクトリに書き込まれることはありません。したがって、デフォルトではファイルは存在しません(これは空のファイルと同じ効果があります)。
OpenSSHも実行しているクライアントでキーを生成している場合は、ssh-copy-id
[ 説明どおり ]を使用して公開キーをサーバーに転送し、その間、パスワードをサーバーにログインします。
他の方法でキーを生成している場合は、キーを生成した場所からid_rsa.pub
ファイルをサーバー上の~/.ssh/authorized_keys
にコピーします(必要に応じてディレクトリ~/.ssh
を作成します)。ホームディレクトリの3つすべて~/.ssh
と~/.ssh/authorized_keys
がユーザーだけに書き込み可能であることを確認してください(グループやその他の書き込み権限はありません)。複数のキーを認証する場合は、それらを~/.ssh/authorized_keys
に連結するだけです(したがって、~/.ssh/authorized_keys
には1行に1つの公開キーがあります)。
OpenSSH以外のものを使用して鍵を生成する場合は、公開鍵をOpenSSH形式に変換する必要がある場合があります。たとえば、PuTTYでは、 ‘authorized_keysファイルに貼り付けるための公開鍵’ を使用します。
そのページから:
秘密鍵はログイン元のコンピューターに保持されますが、公開鍵は.ssh/authorized_keysファイルに保存されますログインするすべてのコンピューターに保持されます。
ssh-keygen
を使用してキーファイルを作成すると、id_rsa
およびid_rsa.pub
という名前のファイルが取得されます。 1つ目は秘密鍵(パスワードで保護されている可能性があります)であり、常に秘密にしておく必要があります。あなたはクライアントです。
後者は、反対側に与えることができる公開鍵ですserver。サーバーは複数の公開鍵を許可できます。キーファイルはプレーンテキストファイルであるため、任意のテキストエディタで開くことができます。公開キーファイルは1行だけです。この行は、serverの~/.ssh/authorized_keys
ファイルに追加する必要があります。
以下の秘密鍵と公開鍵は、ssh-keygen -t rsa
を使用して生成されます。前のコマンドは、ファイル~/.ssh/id_rsa
および~/.ssh/id_rsa.pub
を作成しました。
秘密鍵ファイル~/.ssh/id_rsa
は次のようになります。
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,6D5AD2DF5464E16B4E92E81D095A5E7E
NbCawtGTPOfveFHvV93uw5/veo/fAmbZEcitpNlq/rPEy8ZLo7/0MltFDUupe6dI
...23 lines omitted...
eiau+K6IAbhp84/6ewXPVJ6JbfeS9vyOqkcPaZDlQ3rvbAxU9dfTptc/ZWxVoCDg
-----END RSA PRIVATE KEY-----
対応する公開鍵~/.ssh/id_rsa.pub
は次のようになります。
ssh-rsa AAAAB3NzaC1yc2EA[some chars omitted]X3aKKB6lOyr0v user@Host
最初のWordは、ssh-rsa
(RSAキーの場合)またはssh-dss
(DSAキーの場合)のいずれかです。 2番目の部分(AAAAB3...r0v
)は実際のデータです。 user@Host
は単なるコメントであり、sysadmin from home
のようなものに置き換えることができます。
お気に入りのエディターまたはtouch
を使用して作成するだけですが、適切な権限があることを確認してください。
chmod 400 ~/.ssh/authorized_keys
ええ、その正常です。 sshキーを追加するときに作成するだけです。