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

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

新規登録して質問してみよう
ただいま回答率
85.48%
公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

4回答

15894閲覧

Cent7.2→Windows2012の公開鍵認証でのSSH接続について

ishii-shintaro

総合スコア13

公開鍵認証

公開鍵認証とは、公開鍵と秘密鍵の2つの鍵の組を利用する、SSHで利用される認証方式です。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

SSH

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

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2016/08/24 07:05

編集2016/08/24 07:06

現在以下のツールでCent→WindowsServer2012のSSH接続を実現しており、
その際に現状ではパスワード認証での接続を行っていますが、
公開鍵認証を利用し、パスワード入力無しで接続しようとしています。

ただし、現在Cent側で公開鍵を作成し、Windows側に登録、
その後SSHで接続を行ったところ、
「Permission denied (publickey,keyboard-interactive).」
というエラーが表示されました。

上記エラーについて、もし、解決策をご存知の方がいらっしゃいましたら、
ご教授頂ければと思います。

[使用ツール]
・Win32-OpenSSH
(URL:https://github.com/PowerShell/Win32-OpenSSH)

[SSH接続参考ページ]
http://qiita.com/syui/items/9cd191a3395a6ebf48c1

[備考]
sshd.logでは「Unable to get agent socket: agent not present」というエラーが表示されています。
また、パスワード認証を無効化するため、「sshd_config」で「PasswordAuthentication no」と設定してます。

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

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

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

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

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

guest

回答4

0

CentOSからWindowsにSSH公開鍵 ノーパスで接続したいということですよね。

ただし、現在Cent側で公開鍵を作成し、Windows側に登録、

その後SSHで接続を行ったところ、

以下の情報がないと的確な回答を得るのは難しいと思います。

・CentOS側で公開鍵作成時に実行したコマンド
・「Windows側に登録」は実際何をしたか
・CentOS側でssh接続する際に実行したコマンド

権限不足のエラーがでているので、「Windows側に登録」と言われている(恐らく)authorized_keysが読み取りできていない思われます。

ユーザホーム以下に.sshのディレクトリを作成の上、authorized_keysに公開鍵を登録、
ssh接続は秘密鍵を指定した上で、該当ユーザで接続していますでしょうか?

投稿2016/08/24 09:12

over

総合スコア4309

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

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

ishii-shintaro

2016/08/26 09:21 編集

ご回答ありがとうございます。 情報が不足しており、すいません。 それぞれ以下となっております。 1.CentOS側で公開鍵作成時に実行したコマンド  ⇒ ssh-keygen -t rsa   上記コマンドを実行した際のパスフレーズは空白で、   Enterをそのまま押下していきました。 2.「Windows側に登録」は実際何をしたか  ⇒ 1で出来た公開鍵「id_rsa.pub」をWindowsServer側へコピーして持って行き、   「C:\Users\Administrator\.ssh」配下に格納、名前を「authorized_keys」に変更 3.CentOS側でssh接続する際に実行したコマンド  ⇒ 2を行った後、ssh -i ./id_rsa Administrator@XXX.XXX.XXX.XXX それぞれ上記のような操作を行いました。 Windouws⇒Centで接続する時は、「authorized_keys」の権限を「600」に設定したり、 「.ssh」の権限を「700」にしたりとしていましたが、 Cent⇒Windowsの際には特に何も権限の変更は行っていません。
guest

0

自己解決

すいません、自己解決しました。
windows側で「net start ssh-agent」を実行し、
「ssh-agent」を起動していないことが原因でした。

皆様、色々とご協力頂きありがとうございました。

投稿2016/08/26 11:52

ishii-shintaro

総合スコア13

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

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

0

接続元の .ssh フォルダのパーミッションは 700 ですか?
接続元の秘密鍵のパーミッションは 600 ですか?

投稿2016/08/26 09:19

moonphase

総合スコア6621

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

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

ishii-shintaro

2016/08/26 09:25

回答ありがとうございます。 はい、接続元のCentの秘密鍵(id_rsa)の権限は「600」、 「.ssh」フォルダについては「700」を設定してます。
moonphase

2016/08/26 09:32

見当違いで失礼しました。 ssh に -vvv オプションをつけると詳細が見れますので、その結果を貼り付けると何かわかるかもしれません。
ishii-shintaro

2016/08/26 11:51 編集

引き続きありがとうございます。 教えて頂いたオプションを付けてデバッグ情報を表示させてみました。 (一部情報は書き換えており、デバッグ情報の最後の部分のみ記載してます) debug1: read PEM private key done: type RSA debug1: Authentications that can continue: publickey,keyboard-interactive debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug2: we sent a keyboard-interactive packet, wait for reply debug1: Authentications that can continue: publickey,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (publickey,keyboard-interactive). これらの情報で大丈夫でしょうか?
guest

0

CentOS側のknown_hostsから該当レコードを削除してみてください。
コマンドで行う場合、

ssh-keygen -R IPアドレスやホスト名

をログインユーザーアカウントで実行してください。

投稿2016/08/24 07:20

kunai

総合スコア5405

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

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

ishii-shintaro

2016/08/24 08:23

ご回答ありがとうございます。 教えて頂いたコマンドを実行し、known_hostsを削除して実行してみましたが、 エラー内容は変わりませんでした。 もし、他に何か気になることがあれば教えて頂ければ助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問