LoginSignup
0
0

More than 3 years have passed since last update.

WSL2でsshしようとしてBad owner or permissions

Last updated at Posted at 2020-07-30

現象

WSLをスルーしていたけど、ついにねんがんのWSL2環境にしたぞ!
/home/username/.ssh -> /mnt/c/Users/Username/.sshなどとシンボリックリンクを張って、
chownとchmodして、問題なくsshも接続できたぞ!ヨシ!mintty今までありがとう!

と安心していたら、少ししてから

$ssh -i filename username@hostname
Bad owner or permissions on /home/username/.ssh/config

が出てしまった。

$ls -al ~/.ssh/config
-rwxrwxrwx    1 username  username       3579 Jul 30 05:14 /home/username/.ssh/config

おや?
どうも、Windows側で.ssh/configを上書き保存すると、777に戻ってしまう様子。

$chmod 644 ~/.ssh/config

とすれば、使えるようになる。

環境

Apline WSL
https://www.microsoft.com/ja-jp/p/alpine-wsl/9p804crf0395?activetab=pivot:overviewtab

対策

Alpine Linuxのシェルはbashではなくash

~/.bashrc~/.ashrc
~/.bash_profile~/.profile
のように読み替えればほとんどbashと同じように使える。

.ashrc
# alias=''と同じように使える関数を定義
# $@ は引数すべて
function _ssh(){
  command chmod 644 ~/.ssh/config
  command ssh $@
}
.profile
source ~/.ashrc

このように書いて再起動に備えて、
今起動中のターミナルでも使えるようにして

$source ~/.ashrc

sshの頭に_を付けたaliasを定義したので、

$_ssh -i filename username@hostname

とする。
自分しか使わないので、これでしばらく様子見。

参考

ashとは?bashじゃないの?Alpine Linuxのコマンド
https://qiita.com/HorikawaTokiya/items/f9188d05a58bad47ce8d

bashで引数つきのエイリアスを設定する
https://hacknote.jp/archives/8043/

シェルスクリプトの特殊変数$@と$*の違い
https://hacknote.jp/archives/15421/

0
0
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
0
0