LoginSignup
4
7

More than 5 years have passed since last update.

Linuxへのssh公開鍵認証設定メモ

Posted at

公開鍵認証を使ってLinuxへSSH接続する設定をしていて、いろいろとはまったのでメモをしておく。

必要なこととして以下の3つがある。

  1. SSH接続を受け付ける側(リモート)のLinuxのsshd_configで、公開鍵接続を許可する設定にする。
  2. SSHクライアント側(ローカル)でキーペアを作り、公開鍵ファイルをリモートの適切な位置に配置。
  3. ~/.sshディレクトリなど鍵情報を置いたディレクトリやファイル、リモート側のユーザのホームディレクトリのパーミッションを適切に設定する。

1つ目、2つ目についてはすぐに情報が見つかったが、3つ目についてネット上になかなか情報が見つからず、なかなか公開鍵を使った接続ができなくて困った。

1つめ、2つめについては以下[1]の記事の通りにやればOK。なお、公開鍵のコピーは[2]の記事にあるようにssh-copy-idを使う方が楽。
[1] http://kazmax.zpp.jp/linux/lin_sshrsa.html#ah_1
[2] http://qiita.com/iruseira/items/af8550fea92b5c5f7fca

そして、3つ目のパーミッションの設定は以下のURLに記載があった。
[3] http://unix.stackexchange.com/questions/36540/why-am-i-still-getting-a-password-prompt-with-ssh-with-public-key-authentication

ここの回答から要約すると

  • リモートマシンのホームディレクトリ~、鍵ファイルを置く~/.sshディレクトリ、および公開鍵ファイル~/.shh/authorized_keysの書き込み権限は、ディレクトリおよびファイルのオーナーユーザのみが持って良い。
    • すなわち、rwx------(700)とかrwxr-xr-x(755)はOKだがrwxrwx---(770)はダメ。
  • ローカルマシン上の秘密鍵ファイルの読み込み権限は、そのファイルのオーナユーザのみとすること。つまりrw-------(600)とする。

~/.sshディレクトリに制約があるのは頷けるが、リモートのホームディレクトリのパーミッションに制約があるのが意外だった。これに気付かずにしばらくはまっていた。

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7