Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Windows の cygwin での ssh で key の場所が違うと怒られるので

もう一件,ssh からみで.

久しぶりに Windowscygwin 使い.そこで,ssh でトラブったのでちょっとメモを.

Windowscygwin に同梱されている ssh を使ってほかのマシンにアクセスしたかったので ssh-keygen でキー作成.デフォルトでは /home/xxxx/.ssh 以下につくられる形なのね.

普段,Windows の HOME 環境変数は /cygdrive/c/Users/xxxx/Documents 以下を使っているので /cygdrive/c/Users/xxxx/Documents/.ssh 以下にキーを作成.

で,作成された id_rsa.pub を相手先のマシンにコピーして cygwin 上の ssh からアクセスしようとしたらダメ.どうやら /home/xxxx/.ssh 以下を見に行ってるみたいで,キーがないと怒られる.ssh は HOME の環境変数をみてるんじゃないのね.

ネット検索したら /etc/passwd のホームディレクトリを見てるので /home/xxxx を修正しましょうという記事がありました.けど,手元の環境だと /etc/passwd は存在しない.

ということで,どうするんだろう?と.

なんのことはない,mkpasswd で /etc/passwd を作ればいいだけなのね.

cygwin のターミナル上で

% mkpasswd > /etc/passwd

してから,/etc/passwd ファイル中のホームの記述を /home/xxxx から /cygdrive/c/Users/xxxx/Documents に変更.

このままだと設定反映されないので,一旦,cygwin のターミナルを閉じて,再びターミナルを起動.別のターミナルを開けるのでもいいのかな?

で,ssh を使ったところ,無事,/cygdrive/c/Users/xxxx/Documents/.ssh を見に行ってくれるようになりました.めでたしめでたし.