僕と技術とセキュリティ

セキュリティエンジニアの備忘録

sshの認証鍵のパーミッションを適当にしたら怒られた話

掲題の通り

Vagrantのprivate_keyを使って外部からssh接続しようとしたらパーミッションが違うよと怒られた。

$ssh -i private_key -l vagrant 192.168.1.8
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0755 for 'private_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private_key": bad permissions

よくみないであーハイハイpermissionね、と考えてchmod 755 private_keyとか雑なことしていたら通らず。

よくよくエラーメッセージを見てみると適切なpermissionにしていないせいで怒られていることに気がつく。
適切なpermissionを設定してやると無事接続できた。
このあたりはawsのEC2に接続する際にもよく怒られていたので、permissionは777みたいなガバセキュリティな物で運用している人はもういないのだろうな...

下記のコマンドを実行すれば動く。(private_keyはご自身のファイルに置き換えて)
$chmod 400 private_key
$ssh -i private_key -l vagrant 192.168.1.8

$chmod 400 private_key
$ssh -i private_key -l vagrant 192.168.1.8
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-146-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 packages can be updated.
0 updates are security updates.

New release '18.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


*** System restart required ***
Last login: Tue Aug 13 14:04:48 2019 from 10.0.2.2

mac-cli
cli

いつもローカルのVagrant適当に設定していたはずなのにいつからこうなったのだろう...?