SSHログインでPermission denied (publickey,gssapi-keyex,gssapi-with-mic)と出た時の原因と解決方法をまとめました。
目次
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)が出た
ローカルのWindowsパソコンから、インターネット上のLinuxサーバー(CentOS 8)にSSHで接続すると以下のエラーが出ました。
1 |
Permission denied (publickey,gssapi-keyex,gssapi-with-mic). |
どうやらユーザー名やパスワードを入れるどころではないですね。
なんでだろうか?
Permission deniedエラーの意味と原因
このようなエラーが出る原因としてはSSHサーバーの設定にあるようです。
Linuxサーバー側のSSHサーバーの設定ファイル
/etc/ssh/sshd_config
を開いてみます。
1 |
PasswordAuthentication no |
なるほど、パスワードによる認証が禁止になっていました。
このようにしておくとパスワードでログインできないのでセキュリティ上は安心ですね。
では、どうすればパスワード認証をオフにしたままでクライアントからサーバーにSSHでログインするのでしょうか?
Permission deniedエラーの解決策
この場合、公開鍵と秘密鍵を作成し設定することでサーバーにSSHログイン可能です。
ローカルPCで公開鍵と秘密鍵のペアを作成
接続する側のマシンで公開鍵と秘密鍵のペアを作成します。
今回、MobaXterm を使いました。
・https://urashita.com/archives/26666
MobaXtermで
1 |
$ ssh-keygen |
を実行します。
/home/mobaxterm/.ssh/
の下に
id_rsa.pub
id_rsa
の2つのファイルが作成されます。
id_rsa.pubが公開鍵、id_rsaが秘密鍵です。
どちらもテキストファイルです。
ローカルPC側に秘密鍵を設定
秘密鍵はこのまま、ローカルPCの
/home/mobaxterm/.ssh/id_rsa
に置いたままにしておきます。
接続するサーバー側に公開鍵を設定
接続するサーバー側に公開鍵を設定します。
接続ユーザのホームディレクトリの下に
/home/user1/.ssh/authorized_keys
というファイル名で設置する必要があります。
id_rsa.pubを/home/user1/.ssh にコピーしてauthorized_keysにリネームするか、または、
新規に作成したauthorized_keysにid_rsa.pubの中身をそのままコピーするとよいでしょう。
パーミッションを以下のように設定する必要があります。
/home/user/.ssh は 0700
/home/user/.ssh/authorized_keys は 0600
にします。
これでSSH接続時のエラーは解決します。
コメント
[…] SSH で Permission denied (publickey,gssapi-keyex,gssapi-with-mic) の原因と解決方法 | 浦下… […]