
Cygwin に openssh をインストールして設定し、正常に動作していますが、問題が 1 つあります。秘密鍵/公開鍵認証が使用できず、機能しません。
Linux と同じ手順でキーを追加しました~/.ssh/authorized_Keys
が、キーが取得されませんでした。
また、確認しました/var/log/sshd.log
が、空で、次の権限があります:
-rw-r--r-- 1 cyg_server None 0 Aug 21 12:53 sshd.log
drwx------+ 1 Administrator None 0 Aug 21 12:57 .ssh
-rw-r--r-- 1 Administrator None 395 Aug 21 12:57 authorized_hosts
何が足りないのでしょうか?
答え1
ファイル名が実際には の場合~/.ssh/authorized_Keys
、ファイル名のKを小文字にする必要があります。
そうでない場合は、ssh -v
システムに対して実行してみてください。そうすれば、さらに詳しい情報が得られるはずです。
答え2
これは、HOME 環境変数が設定されていないことが原因である可能性があります。 の結果は何ですかecho $HOME
? は実際にどのフル パスに~/.ssh/authorized_Keys
解決されますか?
また、authorized_keys ファイルのファイル名はすべて小文字にする必要があると思います。
最後に、cygwinには奇妙な権限の問題があるようです。.sshディレクトリとその内容の権限を600(700ではなく)に設定してみてください。それでもうまくいかない場合は、Cygwin メーリング リストの古い投稿何らかの理由で、.ssh ディレクトリとその中のすべてのファイルの所有者は SYSTEM.SYSTEM である必要がありました。
それでもうまくいかない場合は、Windows のイベント ログを確認してください。デフォルトでは、cygwin の sshd は ではなく にログを記録すると思いますsshd.log
(ただし、その場合にログ ファイルを作成する理由はわかりません)。
答え3
Windows 10 1909
ログをチェックし、ファイルEvent Viewer -> Windows Logs -> Application -> sshd(Source column)
の所有権と権限を以下のように設定することでこの問題を修正しました。home, .ssh and authorized_keys
chown Gowtham:none ~/
chmod g-w ~/
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys