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