Linuxから接続するsshのconfigファイルをwindowsから移植したらハマった話

2024/10/27に公開

はじめに

一般的にはwindowsPCないしmacPCからLinuxへのsshをすることが多いと思う。
しかし、今回はLinuxPCからsshでサーバー等に接続する上でハマったことを書いていく

想定ケース

私はメインPCはWindowsであり、それを使用してサーバー等の接続用に
/user/.ssh/configにそれらの定義を設定している。
そして今回は新しく用意したLinuxPCにも同様にssh接続が出来るようにするためにそれらをコピーした。

そして、それは上手くいかずハマってしまった。

本題

結論から言えば権限の問題であった。

# これやればOK
chmod 600 /home/user/.ssh/*

というのもwindows上にある.ssh/のファイルの権限を確認すると644になっている。

実際に確認してみる
# windows側の.sshに移動する
cd .ssh

# ファイルの権限を確認
ls -l

合計 68
-rw-r--r-- 1 user user 1584  910 18:17 config
-rw-r--r-- 1 user user 2602  612 00:32 id_rsa
-rw-r--r-- 1 user user  567  612 00:32 id_rsa.pub
-rw-r--r-- 1 user user 4457  910 18:17 known_hosts
-rw-r--r-- 1 user user 4282  910 18:17 known_hosts.old

sshの権限は結構シビアなため適切な権限を設定してあげる必要があるようだ。

https://mokuzine.net/ssh-permission-denied/

最後に

ssh周りは比較的ハマりやすい
permission deniedというエラーが出た場合は権限周りを見直すと良い。

Discussion