.ssh
フォルダのパーミッションを変更したところ、秘密鍵を使用するソフトウェアを使用するときに毎回パスワードを入力しなければならなくなりました。私がそれを使用するアプリを使用するたびにパスワードを入力する必要がないように、私のid_rsa
ファイルのパーミッションはどのようにすべきでしょうか?
現在、私の権限は設定されています
-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts
455 None 2010-11-26
一般的には、許可が必要になります
.ssh
ディレクトリ。700 (drwx------)
- 公開鍵(
.pub
ファイル)。644 (-rw-r--r--)
- 秘密鍵(
id_rsa
)を使用します。600 (-rw-------)
- 最後に、ホームディレクトリはグループや他の人が書き込み可能なものであってはいけません (最大でも
755 (drwxr-xr-x)
)
cdhowie の応答は、鍵を生成するときにパスワード/パスフレーズを設定することを前提としており、もしそうした場合、彼が言うように、あなたは ssh エージェントを使用しない限り、毎回パスワードを入力する必要があります
757 None 2010-11-26
これにずっと悩んでいたのですが、ようやく必要なことがわかってきました。$USER
をサーバ上でログインしたいSSHユーザ名に置き換えてください。もし root
でログインしようとしているのであれば、/home/root/.ssh
の代わりに /root/.ssh
などを使う必要があります
- サーバ上のホームディレクトリは、他の人が書き込み可能な状態にしてはいけません。
chmod go-w /home/$USER
- サーバ上のSSHフォルダには700のパーミッションが必要です。
chmod 700 /home/$USER/.ssh
- Authorized_keysファイルには644のパーミッションが必要です。
chmod 644 /home/$USER/.ssh/authorized_keys
user
がファイル/フォルダを所有しており、root
ではないことを確認してください。chown user:user authorized_keys
とchown user:user /home/$USER/.ssh
を所有していることを確認してください- 生成した公開鍵(
ssh-keygen
から)をサーバ上のユーザのauthorized_keys
ファイルに置く - ユーザーのホームディレクトリが期待通りに設定されていること、そして修正している正しい
.ssh
フォルダが含まれていることを確認してください。そうでない場合は、usermod -d /home/$USER $USER
を使って問題を修正してください - 最後にsshを再起動します。
service ssh restart
- そして、クライアントがローカルユーザの
.ssh
フォルダに公開鍵と秘密鍵ファイルを持っていることを確認し、ログインします。ssh user@host.com
103 Alex W 2015-06-09
また、あなたのホームディレクトリが他のユーザから書き込み可能なものでないことを確認してください
chmod g-w,o-w ~
37 Felipe Alvarez 2013-01-03
権限は関係ないはずです。秘密鍵はパスワードで暗号化されているので、秘密鍵を復号して使えるようにするにはパスワードを入力する必要があります
復号化された鍵をキャッシュして、それを必要とするアプリケーションに提供する ssh エージェントの実行を検討してみてはいかがでしょうか
7 cdhowie 2010-11-26
Felipe さんの言うとおりです — .ssh ディレクトリを含むディレクトリは、グループや他の人が書き込み可能なものであってはなりません。したがって、chmod go-w ~
は、ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
を実行した後に、 ssh-keygen コマンドでパスフレーズを割り当てておらず、.ssh ディレクトリがホームディレクトリにあると仮定して、 ssh を実行したときにパスワードの入力を求められる場合に試すべき次の論理的な方法です
5 mikentalk 2014-04-17
私はパーミッションに翻訳された男のページの推奨事項を見たかったので、別の答えとしてこれを投稿しています
男性ページの引用を元にしたまとめ(最後にリンクしています
+------------------------+-------------------------------------+-------------+-------------+
| Directory or File | Man Page | Recommended | Mandatory |
| | | Permissions | Permissions |
+------------------------+-------------------------------------+-------------+-------------+
| ~/.ssh/ | There is no general requirement to | 700 | |
| | keep the entire contents of this | | |
| | directory secret, but the | | |
| | recommended permissions are | | |
| | read/write/execute for the user, | | |
| | and not accessible by others. | | |
+------------------------+-------------------------------------+-------------+-------------+
| ~/.ssh/authorized_keys | This file is not highly sensitive, | 600 | |
| | but the recommended permissions are | | |
| | read/write for the user, and not | | |
| | accessible by others | | |
+------------------------+-------------------------------------+-------------+-------------+
| ~/.ssh/config | Because of the potential for abuse, | | 600 |
| | this file must have strict | | |
| | permissions: read/write for the | | |
| | user, and not accessible by others. | | |
| | It may be group-writable provided | | |
| | that the group in question contains | | |
| | only the user. | | |
+------------------------+-------------------------------------+-------------+-------------+
| ~/.ssh/identity | These files contain sensitive data | | 600 |
| ~/.ssh/id_dsa | and should be readable by the user | | |
| ~/.ssh/id_rsa | but not accessible by others | | |
| | (read/write/execute) | | |
+------------------------+-------------------------------------+-------------+-------------+
| ~/.ssh/identity.pub | Contains the public key for | 644 | |
| ~/.ssh/id_dsa.pub | authentication. These files are | | |
| ~/.ssh/id_rsa.pub | not sensitive and can (but need | | |
| | not) be readable by anyone. | | |
+------------------------+-------------------------------------+-------------+-------------+
すべてのマンページの引用は、http://linuxcommand.org/lc3_man_pages/ssh1.htmlからです
4 Ashutosh Jindal 2020-06-11