はじめに
職場でKeeperを使ってユーザ・パスワードの管理をしていますが、インフラ屋さんの私にはもう一つ管理しないといけないものがありました。
それは、SSH鍵 です!!
私はMACとWindowsを使い分け業務をしている(インフラ屋さんとしてはWindowsの方が都合の良い時がある)ので、両方のPCのローカルにSSHの鍵ファイルを保存して業務をしていましたが、Keeperで鍵管理をすればわざわざ両方のPCに保存しなくて良いことに気づきました。
保存した鍵ファイルを使用してSSH接続を実施するには、Keeper Commander CLIを使用しますが、その方法も記載します。
KeeperにSSH接続情報を保存する方法
まず下記の手順でKeeperにSSH接続情報を登録します。
1.Keeperにログインし、[新規作成]-[記録]をクリックします
2.新規記録モーダルが表示されるので、記録タイプを、「SSH 鍵」に変更し、タイトルを入力します
3.下記の画面の様に必要な項目を入力し、「保存」ボタンを押下します
- ログイン:SSHで接続するユーザ名を入力します
- 秘密鍵:サーバログイン時に使用する秘密鍵をテキストで入力します(秘密鍵はマスクされます)
- パスプレーズ:必要があれば入力します
- ホスト名またはIPアドレス:サーバのIPアドレスを入力します
- ポート:SSHで使用するポート番号を入力します
以上
Keeper Commander CLI でSSH接続する方法
Commander CLIとは
Keeper Commanderとは、KeeperのオープンソースコマンドラインCLI、スクリプティングツール、Python SDKインターフェースです。
ボルトや管理コンソール、Secrets Manager、Automatorやプラットフォーム、プラットフォームのその他の領域を含め、ほとんどのKeeperプラットフォームはこのツールから管理やスクリプトの記述、自動化を行うことができます。
Commander CLI インストール手順
1.Keeper Commander CLIのインストール
インストール手順は以下の公式ドキュメントでに記載されています
-
keeper version -v
でKeeper Commanderがインストールできたことを確認します
% keeper version -v
Commander Version: 16.11.13 (Current version)
API Client Version: c16.11.0
Python Version: 3.11.9 (v3.11.9:de54cf5be3, Apr 2 2024, 07:12:50) [Clang 13.0.0 (clang-1300.0.29.30)]
Operating System: macOS(23.6.0)
Working directory: /Users/yourname
Package directory: /usr/local/keepercommandercli/bin/_internal/keepercommander
Config. File: /Users/yourname/.keeper/config.json
Executable: /usr/local/keepercommandercli/bin/keeper-commander
Installation path: /usr/local/keepercommandercli/bin/_internal
2.keeper shell
コマンドを実行する
$ keeper shell
/#############/ /#\
/#############/ /###\ _ __ _______ _______ ______ _______ ______ (R)
/#############/ /#####\ | | / / | ____/ | ____/ | ___ \ | ____/ | ___ \
/######/ \######\ | | / / | |____ | |____ | | __| || |____ | | __| |
/######/ \######\ | |< < | ___/ | ___/ | |/___/ | ___/ | |/_ /
/######/ \######\ | | \ \ | |_____ | |_____ | | | |_____ | | \ \
\######\ /######/ |_| \_\ |_______||_______||_| |_______||_| \_\
\######\ /######/ ____ _
\######\ /######/ / ___|___ _ __ ___ _ __ ___ __ _ _ __ __| | ___ _ __
\#############\ \#####/ / / / _ \| '_ ` _ \| '_ ` _ \ / _` | '_ \ / _` |/ _ \ '__|
\#############\ \###/ \ \__| (_) | | | | | | | | | | | (_| | | | | (_| | __/ |
\#############\ \#/ \_____\___/|_| |_| |_|_| |_| |_|\__,_|_| |_|\__,_|\___|_|
v16.11.13
Use "server" command to change Keeper region > "server US"
US: keepersecurity.com
EU: keepersecurity.eu
AU: keepersecurity.com.au
CA: keepersecurity.ca
JP: keepersecurity.jp
GOV: govcloud.keepersecurity.us
To login type: login <email>
Not logged in>
3.login
と入力、その後keeperログイン時に使用しているメールアドレスを入力し、Keeper Commander CLIのログインする
Not logged in> login
... User(Email): 【keeperログイン時に使用しているメールアドレスを入力】
Logging in to Keeper Commander
ログイン方法の選択が求められるので、自分の環境に応じた方法を選択してください
私のアカウントは2要素認証をしているので下記のようなログイン方法でした
- TOTPなので、Selection:に
1
を入力します
This account requires 2FA Authentication
1. TOTP (Google and Microsoft Authenticator)
q. Quit login attempt and return to Commander prompt
Selection: 1
- TOTPを入力します
2FA Code Duration: Require Every Login.
To change duration: 2fa_duration=login|12_hours|24_hours|30_days
Enter 2FA Code or Duration: 【TOTPを入力】
Successfully verified 2FA Code.
- keeperログイン時に使用しているパスワードを入力します
Enter password for XXX@XXX.XXX.XXX
Password:【keeperログイン時に使用しているパスワードを入力】
Successfully authenticated with Password
Syncing...
Decrypted [139] record(s)
My Vault>
4.ssh
コマンドを入力すると、現在keeperに登録されているSSH接続情報が表示される
My Vault> ssh
# Record UID Type Title Description Shared
--- ---------------------- ------- --------------------------------- --------------------------- --------
1 VtC3eJbNgw6bF76D_LA72w sshKeys test-web-01 user @ XXX.XXX.XXX.XXX:22 False
5.SSH接続をする
ssh 【Record UID】
または、ssh 【Title】
と入力すると該当サーバにログインできる
- Record UIDでSSHする場合
My Vault> ssh VtC3eJbNgw6bF76D_LA72w
Connecting to "test-web-01" ...
[user@test-web-01 ~]$
- TitleでSSHする場合
My Vault> ssh test-web-01
Connecting to "test-web-01" ...
[user@test-web-01 ~]$
以上
他社との比較
SSH鍵を管理するツールはいくつもありますが、個人的にKeeperが優れている点はCommander CLIの存在とその操作性だと思います。
CLIに苦手意識がある場合はなれるまで大変ですが、SSHログインがssh [サーバ名]
のコマンドだけで簡単にログインができるので、作業効率の向上につながっていると感じています。
終わりに
これで2つのPCのローカルに鍵ファイルを保存しないで、keeperに登録されたSSH接続情報を用い簡単にSSH接続することができました。
共有ユーザでSSH接続している職場であれば、SSH接続情報に共有権限を付与し、接続情報を共有して、鍵ファイルを全員のPCや共有フォルダ保存する必要が無くなり、セキュリティ面の心配の必要がなくなるのかなと思います。
本投稿が、少しでも皆さんの参考になれば幸いです。