(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Linux】SSH接続が失敗時のサーバ側ログの確認方法

スポンサーリンク

はじめに

リモートからサーバに対してSSHログインを試みた際、失敗するとサーバ側にてエラーログを見たい場合があります。
そのような際にはsshd_configにてログを出力するようにして内容を確認する必要があります。
本記事ではそれらの流れについて記載しました。

環境情報
  • Debian GNU/Linux 9 (stretch)

設定ファイルにてログ出力に関する値を指定する

/etc/sshsshd_configにあるファイルの中身を確認します。
例えば以下のようになっている場合は

#Logging
#SyslogFacility AUTH
#LogLevel INFO

以下のように変更します。

#Logging
SyslogFacility AUTH
LogLevel DEBUG

ちなみにFacilityとは「ログの種別」を指し、例えばcronに関するログのファシリティは「cron」、カーネルに関するログのファシリティは「kern」と定められています。今回は「AUTH」なので/var/log配下にあるauth.logにメッセージが記録されます。

sshdの再起動

設定ファイルを書き換えて保存したのみではアクセスはできないので、sshdを再起動します。
systemctlコマンドにてサービスの状態を確認し

$ systemctl status sshd.service
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
   Active: active (running) since ... UTC; 6s ago
  Process: 25043 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
...
   CGroup: /system.slice/ssh.service
           mq25044 /usr/sbin/sshd -D

restartにて再起動を行います。

$ systemctl restart sshd.service

再度statusを確認して起動を確認します。

auth.logを確認する

再度SSHを試みると以下のようにログが/var/log/auth.logを確認します。

...
XX instance-1 sshd[25092]: debug1: attempt 1 failures 0 [preauth]
XX instance-1 sshd[25092]: debug1: temporarily_use_uid: 1000/1001 (e=0/0)
XX instance-1 sshd[25092]: debug1: trying public key file /home/xxx/.ssh/authorized_keys
XX instance-1 sshd[25092]: debug1: fd 4 clearing O_NONBLOCK
XX instance-1 sshd[25092]: Authentication refused: bad ownership or modes for file /home/xxx/.ssh/authorized_keys
XX instance-1 sshd[25092]: debug1: restore_uid: 0/0
XX instance-1 sshd[25092]: debug1: temporarily_use_uid: 1000/1001 (e=0/0)
XX instance-1 sshd[25092]: debug1: trying public key file /home/xxx/.ssh/authorized_keys2
XX instance-1 sshd[25092]: debug1: Could not open authorized keys '/home/xxx/.ssh/authorized_keys2': No such file or directory
...

ログが詳細に確認できます。

今回はファイルの権限に不備があったことが分かります。
ちなみにauthorized_keys2というファイルを自動で探しに行く機構があるんですね。

こちらの修正が終われば以下のようにメッセージとなり、無事にログインできます。

XX instance-1 sshd[25053]: debug1: matching key found: file /home/xxx/.ssh/authorized_keys, line 2 RSA SHA256:...
XX sshd[25053]: debug1: restore_uid: 0/0
XX instance-1 sshd[25053]: debug1: do_pam_account: called
XX instance-1 sshd[25053]: Accepted publickey for xxx from A.B.C.D port 58474 ssh2: RSA SHA256:..
...

このままですとauth.logが肥大するので、不要であれば再度ログ部分に関する記載をコメントアウトしてください。

終わりに

以下事象を調査した際の流れをメモしましたが

トラブルシューティングの流れとしても利用できるのでご参考になれば幸いです。