私は.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
通常、権限は次のようにします。
.ssh
ディレクトリ:700 (drwx------)
.pub
ファイル):644 (-rw-r--r--)
id_rsa
):600 (-rw-------)
755 (drwxr-xr-x)
)。私はあなたがあなたが毎回あなたのシステム/ユーザパスワードを入力しなければならないことを意味していると仮定しています、そして以前はあなたがそうする必要はありませんでした。 cdhowieの回答は、鍵を生成するときにパスワード/パスフレーズを設定したと仮定しています。その場合は、sshエージェントを使用しない限り、毎回パスワードを入力する必要があります。
私は永遠にこれに苦労していました、そしてついに必要なものを考え出しました。 $USER
を、サーバー上でログインしたいSSHユーザー名に置き換えます。あなたがroot
としてログインしようとしているのであれば、root以外のユーザのための方法である/root/.ssh
の代わりに/home/root/.ssh
などを使用する必要があります。
chmod go-w /home/$USER
chmod 700 /home/$USER/.ssh
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
を使用して下さいservice ssh restart
.ssh
フォルダーに公開鍵ファイルと秘密鍵ファイルを持っていることを確認して、ログインします。ssh [email protected]
また、あなたのホームディレクトリが他のユーザによって書き込み可能でないことを確認してください。
chmod g-w,o-w ~
パーミッションはこれとは関係ないはずです。秘密鍵はパスワードで暗号化されているため、秘密鍵を復号化して使用できるようにするにはパスワードを入力する必要があります。
あなたはsshエージェントを実行することを検討するかもしれません。そして、それは解読されたキーをキャッシュすることができて、それらを必要とするアプリケーションにそれらを供給します。
Felipeは正しい - あなたの.sshディレクトリを含むディレクトリはグループまたは他の人が書き込み可能であってはいけません。そのため、ssh-keygenコマンドでパスフレーズを割り当てず、.sshディレクトリがホームディレクトリにあると仮定すると、chmod go-w ~
は、ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
の実行後にsshを実行するときにパスワードの入力を求められる場合は、次に試みる論理的なものです。 。