web-dev-qa-db-ja.com

別のユーザーのsshキーをどのように作成しますか?

別のユーザーのsshキーを作成しようとしています。 rootとしてログインしています。 ssh-keygenによって生成されたファイルを編集して、ルートを目的のユーザーに変更できますか?

94
user962449

ssh-keygenを使用してこれを行うこともできますが、秘密キーはユーザーに対して非公開であることを意図しているため、ユーザーのパスワードと同じくらい安全に保管するように細心の注意を払う必要があります。または、ユーザーは最初のログイン時に変更する必要がないため、さらに安全です。

ssh-keygen -f anythingは、現在のディレクトリに2つのファイルを作成します。 anything.pubは公開鍵で、任意の宛先サーバーでユーザーの~/.ssh/authorized_keysに追加できます。

anythingと呼ばれるもう1つのファイルは秘密鍵であるため、ユーザーにとって安全に保存する必要があります。デフォルトの場所は~username/.ssh/id_rsa(ここではid_rsaという名前で、rsaキーのデフォルトです)です。 .sshディレクトリは、ユーザー以外は誰も読み取りまたは書き込みできず、ユーザーのホームディレクトリはユーザー以外は誰も書き込みできないことに注意してください。同様に、秘密鍵に対する権限も厳しくする必要があります。ユーザーに対してのみ読み取り/書き込みが可能で、.sshディレクトリと秘密鍵ファイルはユーザーが所有している必要があります。

技術的には、キーをどこにでも保存できます。 ssh -i path/to/privatekeyを使用すると、接続中にその場所を指定できます。繰り返しますが、適切な所有権と権限は重要であり、適切な権限がないとsshは機能しません。

81
nce

SSHキーにユーザー情報がありませんがあります。

公開鍵の最後のフィールドはコメントです(次のコマンドssh-keygen -C newcommentを実行すると変更できます)。

別のユーザーのキーを作成するために特別なことをする必要はありません。適切な場所にキーを置き、アクセス許可を設定するだけです。

143
Alex

sを使用してユーザーになり、そのユーザーとしてキーを実行します。

[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
21
Rilindo

here のように、chmodを使用して、SSHキーを追加するユーザーのフォルダーの読み取り権限を変更できます。

vim /home/username/.ssh/authorized_keys

次に、そのファイルの下部にある新しい行にキーを貼り付けます

6
Justin Kowalsky