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

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

新規登録して質問してみよう
ただいま回答率
85.35%
SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

1回答

28603閲覧

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

teketeke

総合スコア46

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Active Directory

Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2017/03/16 08:41

編集2017/03/17 12:42

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

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

bash

1# ssh -i id_rsa Administrator@xxx.xxx.xxx.xxx 2Permission 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.鍵作成

Powershell

1PS C:\dokos\OpenSSH-Win64> .\ssh-keygen -t rsa 2Generating public/private rsa key pair. 3Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa): 4Enter passphrase (empty for no passphrase): 5Enter same passphrase again: 6Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa. 7Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub. 8The key fingerprint is: 9SHA256:OKxxxxxxxxxx Administrator@HOGE-TEST@TESTDC1 10The 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フォルダを読み取り専用に変更。>結果変わらず。
=====

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gorogoroIT

2017/03/17 04:05

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

2017/03/17 12:41

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

回答1

0

ベストアンサー

# 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/17 13:16

gorogoroIT

総合スコア447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke

2017/03/19 06:19

回答いただきありがとうございます。 Windows Server側で、鍵ファイルを作成した後、authorized_keysファイルを作成しております。 CentOS側のパーミッションも問題ありませんでした。 Windows側のOpenSSHのログファイルを見ても原因がわからず・・・。 ADサーバということで、 「ssh -i ~/.ssh/id_rsa 'ドメイン名\Administrator'@xxx.xxx.xxx.xxx」とやったところ、繋がりました。 パスワード認証だとドメイン名なしでいけて、鍵認証だとドメイン名が必要な理由がわかりませんが、とりあえず接続できなかった問題は解決しました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問