LoginSignup
3
4

More than 1 year has passed since last update.

SSH接続時のパーミッションエラー解消方法について

Posted at

事象

SSHにてサーバに秘密鍵ファイルを用いてリモート接続しようとすると、下記エラーが出力される。

エラーメッセージ
[ec2-user@ip-10-0-0-187 tmp]$ ssh -i test-keypair.pem ec2-user@10.0.2.79
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'test-keypair.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 "test-keypair.pem": bad permissions
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

エラーの内容を読んでみると、パーミッションが「0644」となっており、同じグループや他ユーザーから秘密鍵ファイルの読み込みができてしまうため、セキュリティ上問題があると言っているようだ。

解決方法

パーミッションを確認

[ec2-user@ip-10-0-0-187 tmp]$ ls -l test-keypair.pem
-rw-r--r-- 1 ec2-user ec2-user 1704 Nov 27 08:42 test-keypair.pem

上記のように「0644」となっている。
ここで、秘密鍵ファイルのパーミッションを「0400(自分のみ読み取り可能)」に変更してみる。

[ec2-user@ip-10-0-0-187 tmp]$chmod 400 test-keypair.pem
[ec2-user@ip-10-0-0-187 tmp]$ls -l test-keypair.pem
-r-------- 1 ec2-user ec2-user 1704 Nov 27 08:42 test-keypair.pem

再実行すると、ちゃんと繋がるようになりました。

[ec2-user@ip-10-0-0-187 tmp]$ ssh -i test-keypair.pem ec2-user@10.0.2.79

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-2-79 ~]$

終わりに

自分に読み取り権限が無ければ接続できないのは勿論ですが、グループや他ユーザーに読み取り権限がある場合でも接続できないんですね。

3
4
0

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
3
4