質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.55%

WindowsServerに鍵認証でのSSH接続ができない

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 10K+

teketeke

score 47

SSH接続先 OS:windows server 2012r2(ADサーバ)
SSH接続元 OS:Centos6.7

CentOSからwindows serverへ鍵認証でのSSHを実施させようとしています。
パスワード認証ではログインできたのですが、鍵認証では以下のエラーが発生します。

# ssh -i id_rsa Administrator@xxx.xxx.xxx.xxx
Permission denied (publickey,keyboard-interactive).


"id_rsa"はsshコマンド実行元のディレクトリ/root/work/openssh-test/と、念の為、/root/.ssh/配下に配置しました。

パスワード認証ではログインできた為、鍵認証に関する部分で問題があると考えていますが、解決できていません。
どのようにすればWindowsServerに鍵認証でSSH接続できるようになるのでしょうか。

インストール手順と、sshd_confの設定は以下の通りです。
=====
windows server にOpenSSHをインストールしました。

1.OpenSSH-Win64.zipを配置
2.powershellで以下のコマンドを実行

cd C:\openssh\OpenSSH-Win64
.\ssh-keygen.exe -A
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
C:\openssh\OpenSSH-Win64\install-sshd.ps1
C:\openssh\OpenSSH-Win64\install-sshlsa.ps1
powershell -Command "Set-Service sshd -StartupType Automatic"
powershell -Command "Set-Service ssh-agent -StartupType Automatic"
Restart-Computer

3.鍵作成

PS C:\dokos\OpenSSH-Win64> .\ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa.
Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:OKxxxxxxxxxx Administrator@HOGE-TEST@TESTDC1
The key's randomart image is:

4.sshd_config 設定変更
C:\openssh\OpenSSH-Win64\sshd_config

PubkeyAuthentication yes
AuthorizedKeysFile    C:/Users/Administrator/.ssh/authorized_keys
PasswordAuthentication no
Subsystem    sftp    sftp-server.exe
PubkeyAcceptedKeyTypes ssh-ed25519*,ssh-rsa*,ssh-dss*,ecdsa-sha2*

念の為、.sshフォルダを読み取り専用に変更。>結果変わらず。
=====

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • gorogoroIT

    2017/03/17 13:05

    接続元(CentOS)で、SSHの鍵ファイル"id_rsa"はどのディレクトリに置いてあるのでしょうか。

    キャンセル

  • teketeke

    2017/03/17 21:41

    "id_rsa"はsshコマンド実行元のディレクトリ/root/work/openssh-test/と、念の為、/root/.ssh/配下に配置しました。

    キャンセル

回答 1

checkベストアンサー

+1

# CentOS側の、SSH鍵ファイルのパーミッションなどの設定の不備かと思って、
# 追記依頼をしたのですが・・・
# CentOS側の問題では無さそう。

Windows Server側で、鍵ファイルを作成した後、authorized_keysファイルを作成したのでしょうか。

【WindowsServer側】
公開鍵を authorized_keys に登録。

cd C:\Users\Administrator
type id_rsa.pub >> .ssh\authorized_keys

【CentOS側】
鍵ファイルのパーミッション設定

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

接続

ssh -i ~/.ssh/id_rsa Administrator@xxx.xxx.xxx.xxx

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/19 15:19

    回答いただきありがとうございます。
    Windows Server側で、鍵ファイルを作成した後、authorized_keysファイルを作成しております。
    CentOS側のパーミッションも問題ありませんでした。

    Windows側のOpenSSHのログファイルを見ても原因がわからず・・・。

    ADサーバということで、
    「ssh -i ~/.ssh/id_rsa 'ドメイン名\Administrator'@xxx.xxx.xxx.xxx」とやったところ、繋がりました。
    パスワード認証だとドメイン名なしでいけて、鍵認証だとドメイン名が必要な理由がわかりませんが、とりあえず接続できなかった問題は解決しました。

    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.55%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる