自動で Pageant する¶
WinSCP で SFTP をするとき、SSH 認証でパスフレーズ付き公開鍵認証の場合、毎回の接続時にパスフレーズを問われて面倒なので Pageant を使ってある程度自動化してしまおうというやつ。
環境¶
- Windows 10 22H2 (Build 19045.2364)
- WinSCP 5.21.6 (Build 12913)
- Pageant 0.78
- SSH 認証でパスフレーズ付き公開鍵認証でログインできるサーバーがあるものとする
- 公開鍵は何らかの手段で ppk ファイルに変換してあるものとする
- ppk ファイルは例として
C:\Users\user\keys\example.com.ppk
に保存しているものとする(任意に変更可能) - 利用しているコンピュータに適切なセキュリティ対策が施されており、ppk ファイルおよび本記事で作成するファイルは自分自身以外がアクセスできないように対策できるものとする
- パスフレーズを平文で書くので…。
作業¶
shell:startup
に Pageant のショートカットを設置し、Windows の起動時に Pageant が起動するようにする- vbs ファイル(VBScript)を作成し、Pageant に ppk ファイルを登録するスクリプトを作成する
- 動作するか確認
Windows の起動時に Pageant を起動させる¶
putty のインストール先にある PAGEANT.EXE
のショートカットを作成し、shell:startup
に入れる。
Pageant に ppk ファイルを登録するスクリプトを作成¶
拡張子 vbs のファイルを適切な場所に作成し、以下のスクリプトを書き込む。
書き込む際、[変更箇所]
として示した以下の 2 つを修正。
- ppk ファイルへのパス
- 鍵のパスフレーズ
例: example.com.vbs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|
動作するか確認¶
まず、WinSCP でサーバー設定をする。
New Site
から新規にサイトを追加し、Host name
、Port number
、User name
を入力する。Password
については公開鍵のみで認証する場合は不要。
Advanced Site Settings
が開くので、SSH
-> Authentication
にある以下の項目を修正する。
- Authentication options
- Attempt authentication using Pageant
- Authentication parameters
- Private key file: ppk ファイルを指定。ppk ファイルではない公開鍵を持っている場合は読み込もうとすることで ppk ファイルに変換する画面が出てくる
次に、作成した vbs ファイルを用いて自動的に Pageant に公開鍵を登録するため、作成した vbs ファイルをダブルクリックする。
パスフレーズの入力画面が表示されるが、VBScript によって自動で入力される。
WinSCP でログイン試行してみるとパスフレーズの入力を求められずにログインできる。
最終更新日:
2023-03-09 21:23:51
作成日: 2023-01-13 11:25:43
作成日: 2023-01-13 11:25:43