👻

WSL上のSSH鍵認証永続をSSH-AgentからKeychainに

2024/07/08に公開

シェル変えたらキーパス打つのがちょっと

今更感あるけど、忘備録的に。

AWSでの開発環境でAWSインスタンスにログインして、
そこからGithubに繋ぐ的な状態が発生すると、
SSH秘密鍵をどうするのかが問題になる。

インスタンス上に秘密鍵を置くって手もなくはないが。

(・ω・) 秘密にしときたい

そこでSSH-Agentをローカル環境に常駐させるという方法があるが、
設定が面倒なうえにシェル変えたらパスフレーズ再度打ち込みなんてことも。

(;´・ω・) もうちょっとどうにかならんかな。

これを解決するにはKeychainを使う方法がある。
AppleさんところのやつではなくLinux上で動くKeychain。

https://github.com/funtoo/keychain/

SSH-Agentを調整するシェルスクリプト
ssh-agentやssh-addなどをシェルを介して動かし、
いい感じにしてくれる。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

インストール

Ubuntu環境ならaptでインストールできる

sudo apt install keychain

公開、秘密鍵の設置

Githubや踏み台サーバー側に設定する鍵を取得する

ssh-keygen -t ed25519
ls  ~/.ssh/id_ed25519

シェルに設定

自身のシェルにkeychainを設定

.bashrc
keychain -q --nogui $HOME/.ssh/id_ed25519
source $HOME/.keychain/$(hostname)-sh

https://esc.sh/blog/ssh-agent-windows10-wsl2/

Discussion