[解決済み] 公開鍵認証によるWindows版OpenSSHのセットアップ
2023-02-27 15:18:32
質問
公開鍵認証を使用した Windows 用 OpenSSH のセットアップに問題があります。
私はローカルのデスクトップ上でこれを動作させ、Unix マシンまたは他の OpenSSH for Windows マシンから鍵を使って ssh することができます。
ビルドをサーバー上に複製しました。パスワード認証は問題なく動作していますが、キーを使用すると、次のような問題が発生します。
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug3: start over, passed a different list publickey,password,keyboard-interactive
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /cygdrive/c/sshusers/jsadmint2232/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
Connection closed by 127.0.0.1
そこで、テストのために、私はローカルホストに SSH してみているだけですが、リモートで試しても同じ問題が発生します。
さらに奇妙なことに、パスワードと公開鍵の両方を有効にしたときに
sshd_config
でパスワードと公開鍵の両方を有効にした場合、鍵だけを使おうとして、上記のメッセージを出して爆死し、パスワードを使おうともしないことです。
以下は、私が行った手順です。
- Windows 用の OpenSSH をインストールします。
-
mkgroup -l >>..\etc\group
(ローカルグループの追加) -
mkgroup -d >>..\etc\group
(ドメイングループの追加) -
mkpasswd -L -u openssh >>..\passwd
(私のローカルユーザーを追加) -
mkpasswd -D -u jsadmint2232 >>..\passwd
(私のドメインユーザーを追加しました) - ファイル内のホームディレクトリを編集 passwd を c:\sshusers%USER% - ここに %USER% はユーザー名です。
- パスワード認証を有効にし、キー認証を無効にします。
- jsadmint2232 / OpenSSH の両方で SSH 鍵を作成し、ファイルがホームディレクトリに作成されることを確認しました。
- 各ユーザーの .ssh ディレクトリに authorized_keys ファイルを追加し、着信接続ユーザーの鍵を追加しました。
-
net stop opensshd
/net start opensshd
- パスワード認証がローカルとリモートの両方で機能するかどうかをテストします。
- sshd_config を更新し、鍵認証が有効になりました - opensshd を再起動します。
- 接続を試したところ、上記のエラーが発生しました。また、パスワード認証も試さない。
- sshd_config を更新し、パスワード認証を完全に無効化 - opensshd を再起動します。
- 接続をテストしても、上記のエラーが発生します
サーバーが何らかの理由で接続を切断しているようです。
どのように解決するのですか?
問題が解決したのですが...
サービスを開始したアカウントに関連しています。 ローカル システム アカウントを使用していたため、公開キーと authorized_keys ファイルへのアクセスが停止していました。
いったんサービスを停止して、接続しようとしているユーザーとして起動すると、うまくいきました!
つまり、基本的には、サービス アカウントで開始し、外部ユーザーはそのユーザーとして接続する必要があります。
関連
-
[解決済み] 新しい鍵を作成せずに、SSH鍵のパスフレーズを削除するにはどうすればよいですか?
-
[解決済み] SSH公開鍵にアクセスするにはどうすればよいですか?
-
[解決済み】~/.ssh/authorized_keysに公開鍵を追加しても自動でログインしない
-
[解決済み】BitbucketのGit。公開SSHキーをアップロードしても、常にパスワードを要求される
-
[解決済み] CMDがAdministratorとして実行されているか、または昇格した特権を持っているかどうかを検出する方法は?
-
[解決済み] ダウンロードした.boxファイルをVagrantに追加するには?
-
[解決済み] BATCHスクリプトでrandomを使用するには?
-
[解決済み] Git リポジトリを Windows でホスティングする
-
[解決済み] Windowsのバッチファイルから%PATH%に実行ファイルが存在するかどうかをテストする方法は?
-
[解決済み] バッチジョブでファイル名をタイムスタンプとして作成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] PowerShell 3用ファイル拡張子
-
[解決済み] Phonegap Cordovaのインストール Windows
-
[解決済み] .bat "ファイルのコマンドラインパラメータを確認するには?
-
[解決済み] WindowsのIF内のバッチSETが機能しない
-
[解決済み] Windowsで.gitconfigの場所を変更する
-
[解決済み] Intellijのターミナルでgitをセットアップする
-
[解決済み] Windowsのバッチファイルで "are you sure "プロンプトを表示させるには?
-
[解決済み] Postgresqlの設定ファイルはどこですか?Windowsの場合、'postgresql.conf'はどこにあるのでしょうか?
-
[解決済み] .dllと.exeの違いについて教えてください。
-
[解決済み] Windowsのバッチファイルから%PATH%に実行ファイルが存在するかどうかをテストする方法は?