仕事上、Pageant経由で秘密鍵を使ったログインをよく行います。
いちいち手動で秘密鍵をPageantに読み込ませることや、
スタートアップ登録したPageantに読み込ませる秘密鍵が変わる度にコマンドを変更しないといけないのが手間なので、
マシン起動時に、指定したフォルダにある秘密鍵を全て自動でPageantに読み込ませたうえで起動させるPythonスクリプトを作りました。
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 |
import os import pathlib import subprocess # 秘密鍵が格納されているフォルダ PRIVATE_KEYS_DIRECTORY = "Path/To/PrivateKeys/" # pageantバイナリへのパス PATH_TO_PAGEANT = "Path/To/pageant.exe" # 秘密鍵の格納されているフォルダに移動 os.chdir(PRIVATE_KEYS_DIRECTORY) # pageantコマンドの引数とするプライベートキー名の羅列を作成 commandOptions = "" for f in pathlib.Path("./").iterdir(): # フォルダは無視 if f.is_file() == False: continue # ppkファイルでないものも無視 if f.suffix != ".ppk": continue commandOptions += " " + f.name subprocess.call(PATH_TO_PAGEANT + commandOptions) |
このスクリプトをスタートアップに登録すると、
6行目のPRIVATE_KEYS_DIRECTORYに指定したフォルダの中の.ppkファイルを起動時にpageantに読み込ませることができます。
なのでpageantに読み込ませたい秘密鍵を変更したいときは、PRIVATE_KEYS_DIRECTORYの値かPRIVATE_KEYS_DIRECTORYのフォルダの中身を変更すればよいということになります。