web-dev-qa-db-ja.com

Win32-OpenSSH認証を適切に構成する方法

管理者権限のないPCを使用していて、SSHサーバーをセットアップする必要があります。 mobaSSHfreeSSHd も試しましたが、どちらも管理者権限が必要です。その後、私は Win32-OpenSSH を見つけました。これは最終的には機能しているようです。正直に言うと、このようなサービスに管理者特権が必要な理由は実際にはわかりません。問題なく戻って問題なくポート21でリッスンしているFTPサーバー。質問に戻ります。

Win32-OpenSSH に含まれるssh-keygen.exe -Aを実行しました Win32-OpenSSH ディレクトリに次のファイルを作成しました:

ssh_Host_dsa_key
ssh_Host_dsa_key.pub

ssh_Host_ecdsa_key
ssh_Host_ecdsa_key.pub

ssh_Host_ed25519_key
ssh_Host_ed25519_key.pub

ssh_Host_rsa_key
ssh_Host_rsa_key.pub

それからsshd.exeを始めました。私の最初の試みは、PuTTY.exeを使用してUSERNAME@localhostに接続することでした。 Windowsログインに使用しているのと同じ資格情報を使用しましたが、機能しませんでした。

Using username "USERNAME".
USERNAME@localhost's password:
Access denied
USERNAME@localhost's password:

2番目の試みは、puttygen.exeを使用してssh_Host_rsa_key*.ppkファイルに変換し、このファイルをpageant.exeでロードしてから、最初の試行と同じ手順を使用しました。この後、ご覧のようにsshd.exeメッセージが変わりましたが、ログインはまだ機能しませんでした:

Using username "USERNAME".
Authenticating with public key "imported-openssh-key" from agent
Server refused public-key signature despite accepting key!
USERNAME@localhost's password:
Access denied
USERNAME@localhost's password:

サーバーが正しくインストールされており、問題は認証にあると思います。パスワードまたはキーを使用してログインできるように Win32-OpenSSH を正しく設定する方法は?

5
Wakan Tanka

パスワード認証の場合は、USERNAMEのみを使用します。 USERNAME@localhostは機能しません。


公開鍵認証を機能させるには:

  • .sshフォルダとauthorized_keys Windowsアカウントプロファイルフォルダー(通常はC:\Users\username\.ssh)。
  • それぞれのWindowsアカウントのみがフォルダーとファイルへの書き込みアクセス権を持っていることを確認してください(それぞれのアカウントを使用してログインしているときにフォルダーとファイルを作成した場合のデフォルトのアクセスレベルは何ですか)。

両方の詳細については、私のガイド OpenSSHを使用してWindowsにSFTP/SSHサーバーをインストールする を参照してください。

4
Martin Prikryl