
Linux/ssh鍵認証ログインで接続エラーが出るときの対処
いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
クラウドサーバーなど、SSH鍵認証で接続する際に、エラーが発生し接続できない場合があります。以下はLinuxのエラー対処の実例です。
[1]クラウドサーバーから鍵をダウンロードし、ホームディレクトリに置いた
LinuxのデスクトップPC上でクラウドサーバーからSSHの認証鍵をダウンロードし、ホームディレクトリに置いた。
[2]SSH鍵認証でサーバーに接続してみる
盛大に怒られる。ダウンロード直後や異なるコンピュータからコピーした直後のアクセス権が緩いため。
下の例では0664だと指摘し「アクセス権が緩いので、他の人がこの鍵を使うことができるからつながないよ!」と切られてしまった。
takumi@okamgm1:~$ ssh -i k20171017.pem user@XXX.YYY.ZZZ.AAA The authenticity of host 'XXX.YYY.ZZZ.AAA (XXX.YYY.ZZZ.AAA)' can't be established.
ECDSA key fingerprint is SHA256:XVSTI/SATA/SCSI/SASSAS+iSCASI.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'XXX.YYY.ZZZ.AAA' (ECDSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for 'k20171017.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "k20171017.pem": bad permissions Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[3]所定の場所に置き、アクセス権を変更する
sshのユーザ毎の情報は、各ユーザーのホームディレクトリ以下の.sshにある。そこに鍵を移動し、アクセス権を0400に設定する。
takumi@okamgm1:~$ ls .ssh
known_hosts
takumi@okamgm1:~$ mv k20171017.pem .ssh
takumi@okamgm1:~$ chmod 0400 ~/.ssh/k20171017.pem
[4]再度アクセス
初回接続の確認や、パスワードの入力が求められたら接続成功。
takumi@okamgm1:~$ ssh -i ~/.ssh/k20171017.pem user@XXX.YYY.ZZZ.AAA