かいだんのーと

のーとの主の備忘録とか、やってることとか。

のーとの切れ端 - LinuxのSSH公開鍵認証実装で躓いた貴方へ贈るチェックリスト

累計5hくらいハマッてしまったうっかりさんなのーとの主の、のーとの主による、のーとの主のためのチェックリスト。
もしハマッたかたがおられたら、ご参考まで。

 接続したいサーバの以下の部分をチェックしてください。

 

sshdサービス側

要件を満たす設定になっているか

設定変更後にサービス再起動(service sshd restart)をしたか

<参考>

SSH 接続での root によるログイン禁止と公開鍵認証を強制 〜 CentOS6 | EasyRamble

↓特にここ

# rootでの認証を禁止
PermitRootLogin no

# パスワードでの認証を禁止(公開鍵による認証のみにする)
PermitEmptyPasswords no
PasswordAuthentication no

# RSA公開鍵による認証
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

 
■接続したいユーザのhomeディレクト

パーミッションとファイル所有者が正しく設定されているか

<参考>

Tera Termで鍵を作って鍵認証でサーバにログインするまで – 上田ブログ

<パーミッション>
・「.sshディレクトリ 700
・「.ssh/authorized_keys」 644

<ファイル所有者>
すべて「接続したいユーザ」(※グループも設定忘れずに)

-----

過不足あるかもしれないけど、今思いつくのはこんなところ。

私はこの<ファイル所有者>でひたすら詰まっていました(;∀;)

 

あとこれはおまけですが、
TeratermでSCP転送をしようとするとPermission Deniedになる件でもハマりました。

どうやらTeratermははじめにログインしたユーザで転送をかけるようなので、例えば中でrootにスイッチしててもはじめにSSHでつないだユーザAの権限がないと駄目なようです。一瞬だけパーミッション777発動が一番楽みたいですね。

 

以上、備忘録でした。