ブログ
Windowsのwsl(ubuntu)でsshしたいんだけど、秘密鍵がchmodで400にならない。
Macから乗り換えてきて、wslでUbuntu20.04をインストールしたのでsshの環境を移行して、意気揚々を.sshフォルダを持ってきてsshコマンドをカタカタターン!としたのですが、
$ ssh user@domain.domain -i secretKey Warning: Identity file Owl_Crowi1.pem not accessible: No such file or directory. user@domain.domain: Permission denied (publickey).
おやおやと思い、ls -laしたところ、
$ ls -la secretKey -rwxrwxrwx 1 ubuntu ubuntu 1694 Jan 4 18:07 secretKey
でパーミッションが777とフルアクセス状態だったので、当然の如く400に変更しました。
$ chmod 400 secretKey $ ls -la secretKey -rwxrwxrwx 1 ubuntu ubuntu 1694 Jan 4 18:07 secretKey
全然変わっていません。。。バグなのかなと思い何度もコマンドを打っても変わっていません。。。
いろいろ調べた結果、WSLはWindows側と共有しているファイルやディレクトリはLinux側からみると777というフルアクセス状態になる仕様らしいです。そこで/etc/wsl.confなるものを作成して調整する必要があるようです。
[automount] enable = true root = /mnt/ options = "metadata,uid=1000,gid=1000,umask=22"
上記を作成して、一度Ubuntuから抜けて、WSL自体を再起動します。若干再起動コマンドもわからなかったです。
$ wsl --shutdown
これでchmodコマンドでアクセス権を変更し、改めてsshをすることで接続できるようになります。
関連記事
2024.09.30
2024.09.30
2024.04.08