こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

sftp時の公開鍵認証

windowsサーバにSFTPサーバを構築し、公開鍵での認証をかけ、SFTPでファイルやり取りを行いたいのですが、
ファイルやり取りはできるのですが、公開鍵での認証がうまくいきません。
色々なサイトを調べながら以下手順で構築していったのですが、
公開鍵、秘密鍵での認証がうまくいってないように見えます。
なんでもいいので、何か分かる方いましたらご教授お願いします。

※クライアントPC、サーバともにwindows

◆秘密鍵、公開鍵ファイルの作成(クライアントPC)
1.クライアントPCにSFTP接続ソフト「WinSCP」をインストール
2.「WinSCP」の補助ツール「PuTTYgen」により、秘密鍵ファイル、公開鍵ファイルを作成
3.作成した公開鍵ファイルをサーバへコピー

◆SFTPサーバ構築、公開鍵認証設定(サーバ)
4.サーバにSFTP環境構築ソフト「freeFTPd」をインストール
5.SFTPの接続先(アドレス、ポート22)を設定
6.ユーザー(ID、パスワード)を作成。そのユーザーのSFTP時ホームディレクトリを設定
7.SFTPのサービスを開始
8.6で設定したホームディレクトリの直下に「.ssh」ディレクトリ作成
9.「.ssh」ディレクトリの直下に「authorized_keys」ファイルを作成
10.3でコピーした公開鍵ファイルの中身を、「authorized_keys」ファイルに追加(テキストベースでのコピペ)

◆サーバへのSFTP接続(クライアントPC)
11.クライアントPCで「WinSCP」を起動。SFTPサーバのIP、6で設定したユーザーのID、2で作成した秘密鍵を設定しログイン
12.「Further authentication required
Authenticating with public key "dsa-key-20140512"
Access denied.」 と表示され、ログインできない
13.秘密鍵を使わず6で設定したユーザーIDとパスワードであれば、ログイン可能。SFTPサーバとのファイルのやり取りも可能


また、「.ssh」ディレクトリと「authorized_keys」ファイルに書き込み権限があるユーザーの場合に、認証が失敗するという情報があったので、
クライアントPCに書き込み権限を持っていないユーザーでログインし、WinSCPを起動してアクセスしてみたのですが、同じ結果でした。

投稿日時 - 2014-05-13 16:44:23

QNo.8593572

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

Wr5

WindowsでSSHサーバ作ったことはありませんが……

>2.「WinSCP」の補助ツール「PuTTYgen」により、秘密鍵ファイル、公開鍵ファイルを作成
>3.作成した公開鍵ファイルをサーバへコピー

PuTTYgenではopensshで使える公開鍵「ファイル」は作れませんが…。

http://siguniang.wordpress.com/2014/03/15/how-to-convert-ppk-key-to-openssh-key-under-linux/

http://www.atmarkit.co.jp/fwin2k/win2ktips/1321putykey/putykey.html
の「公開鍵/秘密鍵をファイルに保存する」辺り。

PuTTYgenの[公開鍵の保存]で作成された公開鍵(下記のようなファイル)をopensshで使われるauthorized_keysファイルに書き込んでも、公開鍵としては認識されませんよ。

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20140513"
AAAAB3NzaC1yc2EAAAABJQAAAIBvW1w52Mh+fehfrdjH1PCEfo9vtVqA8PfgKBBh
WAWOeR9EGVAxHt4Ei7731vV/vzAZVL5MM9Ig6HuNQyhmsDLHHwDskmoM4xNqyck/
q9xjfK6Rp70wpBam/G/oqceaFt4n2j+uamNi65SU7IcIpMMw4ce5p+GTXzVkdIth
bzNtWQ==
---- END SSH2 PUBLIC KEY ----

opensshのauthorized_keysファイルでの公開鍵は、1行で1つの公開鍵です。

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBvW1w52Mh+fehfrdjH1PCEfo9vtVqA8PfgKBBhWAWOeR9EGVAxHt4Ei7731vV/vzAZVL5MM9Ig6HuNQyhmsDLHHwDskmoM4xNqyck/q9xjfK6Rp70wpBam/G/oqceaFt4n2j+uamNi65SU7IcIpMMw4ce5p+GTXzVkdIthbzNtWQ== rsa-key-20140513
こんな感じの内容ですね。
行の最初に鍵の種類とか書かれてる。
空白開けて鍵本体。さらに空白開けて鍵のコメント。
鍵の種類の前にコマンドとかオプションを書くことも出来ますが…まぁ、サーバがWindowsじゃコマンドはあまり意味ないですかねぇ…。


というワケで、公開鍵の形式が違うから認証蹴られているんじゃないですかね?
Windowsだとパーミッションはまるっと無視しそうですけど。
# NTFSのアクセス権に細かく対応していますかねぇ??

投稿日時 - 2014-05-13 22:57:35

あなたにオススメの質問