FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定

FreeSSHdでRSAキーペアを用いた認証ユーザーを設定する手順を紹介します。

RSAキーペアの作成

RSAキーペア(公開鍵、秘密鍵)を作成します。キーペアは、OpenSSHやPuTTYgenなどを用いて作成できます。
PuTTYgenを利用して公開鍵、秘密鍵を作成する手順はこちらの記事を参照してください。

FreeSSHdのユーザーの作成

FreeSSHdの設定ダイアログを表示します。[Users]タブをクリックします。下図の画面が表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像1

[Add]ボタンをクリックしユーザーを追加します。[User peoperies]ダイアログが表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像2

[Login]にログインユーザー名を入力します。[Authorization]は"Public key (SSH only)"を選択します。[User can use]はこの利用者が利用できるサービスにチェックをします。今回はすべてにチェックをつけました。設定ができましたら[OK]ボタンをクリックします。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像3

[Users]タブの画面に戻ると、作成したユーザーがユーザー一覧に表示されています。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像4

補足

FreeSSHdで追加したユーザーはWindowsユーザーに追加されている必要はありませんが、デフォルトの設定ではSFTPのホームディレクトリが"$HOME"であるため、Windowsユーザーとして追加しておく必要があります。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像5
SFTPのホームディレクトリを特定の位置("c:\sftproot"など)に変更すればWindowsユーザーでないアカウント名でも動作します。

FreeSSHdに公開鍵を登録する

FreeSSHdのサーバー側に公開鍵を登録します。
RSAキーペア(公開鍵、秘密鍵)を作成した際に、[Key]セクションに表示されるOpenSSH形式の公開鍵文字列をコピーします。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像6
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像7

FreeSSHdの設定画面を表示します。[Authentication]タブをクリックします。下図の画面が表示されます。[Public key folder]に記載されているパスを確認します。下図の設定では"c:\Program Files (x86)\freeSSHd\"ディレクトリに公開鍵が配置される設定になっています。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像8

設定で公開鍵が配置されるディレクトリに移動し、公開鍵のファイルを作成します。ファイル名はユーザー名と同じファイルにします。今回の例では先ほどユーザー追加で登録した"sshtest"ユーザーを利用しますのでファイル名も"sshtest"とします。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像9

メモ帳でsshtestファイルを開きます。先にPuTTYgenで生成されたOpenSSH形式の公開鍵文字列をペーストし保存します。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像10

設定、公開鍵の読み込みと反映

FreeSSHdを再起動し、公開鍵の再読み込みをします。再起動はタスクトレイのFreeSSHdのアイコンを右クリックします。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像11

ポップアップメニューが表示されるので[Unload]メニューを選択します。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像12

サービスの場合はサービスを停止し、再起動します。
上記の方法でもうまくいかない場合があります。その場合はWindowsを終了し、マシンを再起動します。

クライアントの設定

クライアント側のソフトウェアを設定します。

WinSCP

WinSCPを起動します。[新しいサイト]を選択し新しい接続設定を作成します。ホスト名、ユーザー名を入力します。[設定]ボタンをクリックし接続の詳細を設定します。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像13

[設定]ボタンをクリックすると[高度なサイトの設定]ダイアログが表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像14

左側のツリービューから[認証]ノードを選択します。下図の画面が表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像15

[秘密鍵]のテキストボックスに秘密鍵のファイル(ppk形式)を指定します。先ほどサーバー側に登録した公開鍵の対となる秘密鍵のファイルです。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像16

設定が完了したら接続をしてみます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像17

接続と認証が実行されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像18

無事接続ができ、下図のファイル一覧画面が表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像19

”server refused public-key despite accepting key!”のメッセージが表示される場合は、FreeSSHd側で公開鍵が読み込まれていない可能性があります。FreeSSHdのUnloadやマシンの再起動を試し、公開鍵の再読み込みを試してください。
また、PuTTYgenで公開鍵をファイル保存したものをそのままサーバーに配置した場合も同様のメッセージが表示されます。FreeSSHdに登録する公開鍵はPuTTYgenで生成されたOpenSSH形式の文字列を用いてください。

PuTTY

PuTTYを起動します。下図のウィンドウが表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像20

左側のツリービューから[Connection]ノードの[SSH]内の[Auth]ノードを選択します。下図の画面が表示されます。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像21

[Private key file for authentication]のテキストボックスに秘密鍵(ppkファイル)のパスを入力します。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像22

PuTTYで接続します。下図のログインプロンプトが表示されます。ログインするユーザー名を入力します。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像23

ログインに成功しました。
FreeSSHd でRSAキーペアを用いた認証の設定手順 - FreeSSHdでの公開鍵、秘密鍵認証設定:画像24

以上で設定は完了です。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2014-05-12
Copyright © 1995–2025 iPentec all rights reserverd.