LoginSignup
497
428

More than 5 years have passed since last update.

SSH で Permission Denied となる傾向と対策

Last updated at Posted at 2014-08-31

SSH ログインしたときに下記エラーが出る傾向と対策をまとめました。

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

まずログを見る

クライアント側でこのエラーが出たら、サーバー側の /var/log/secure にエラーとなった原因が記録されます。最重要です。たとえば、

Feb 26 23:58:39 server sshd[29619]: Authentication refused: bad ownership or modes for file /home/user/.ssh/authorized_keys

みたいに書いてあると、所有者とパーミッションなどに絞って原因を見ていくことになります。

よく原因となる確認ポイントを下記に書いていきます。

接続先に authorized_keys が設置されているか

公開鍵認証する場合、接続する側のマシンで公開鍵と秘密鍵のペアを作成し、公開鍵を接続ユーザのホームディレクトリ配下 ~/.ssh/authorized_keys に設置する必要があります。

パーミッションは適切か

公開鍵認証する場合、接続先のサーバで所有者とパーミッションが適切に設定されていることを確認します。

  • /home/user/.ssh は 0700
  • /home/user/.ssh/authorized_keys は 0600

にします。パーミッションに過不足があるとエラーになることがあります。

ユーザ追加時の設定を確認する

あれいつもはこれ確認したらつながるのに、なんで今日はダメなんだ? と思っていたら、ユーザ追加するときにログインシェルを設定していて、そのパスが存在していないのが原因でした。

具体的には、 Ansible で

---
- name: useradd youcune
  user: name=youcune shell=/bin/zsh

とやっていました。この zsh のパスが存在しておらず失敗になっていたようです。死にたい。

497
428
1

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
497
428