4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

まだssh-agentを直接使っているんですか?そろそろKeychain経由で使うようにしましょうよ。
Keychain=Macだと思っているみなさん、それは勘違いです。そのKeychainとこのKeychainは異なります。Fedora, UbuntuなどのLinuxにもありますよ。

keychainとは

.bashrcなどに

eval `ssh-agent`

と書いているとセッションを開くたびにプロセスが増えていってしまってうざいと思いますよね。別に体感で重くなったりはしないかもしれませんがうっとおしいです。

間に入ってそれを制御してくれるのがkeychainということです。

各種Linux(WSL1,2含む)で使えます。
※Windowsの場合はssh-agentのサービスがあるのでそれを使えばssh-addしたものは永続されます。
https://learn.microsoft.com/ja-jp/windows-server/administration/openssh/openssh_keymanagement

※macの場合でも同じ感じでssh-agentを直接使うようです。

iCloud Keychain, Google Password Managerなどはクラウド経由でパスワード等を共有できますが、これとは異なります。

インストール

$ sudo apt install keychain , $ sudo dnf install keychain などで入れます。だいたいのディストリにはあるでしょう。

そして .bash_profileに追記しましょう。下のほうでいいです。

eval `keychain --eval --agents ssh ~/.ssh/hogehoge.ed25519`

古い eval ``ssh-agent`` は消してください。

確認

テスト用に適当に鍵を作ります。

murata@derorisnet:~$ ssh-keygen -t ed25519 -C 'iranai kagi' -f ~/.ssh/hogehoge_ed25519
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/murata/.ssh/hogehoge_ed25519
Your public key has been saved in /home/murata/.ssh/hogehoge_ed25519.pub
The key fingerprint is:
SHA256:RU4gOOY+CmPhsBPn/Di6s0/CxNs1GVFNUzQABpif3rs iranai kagi
The key's randomart image is:
+--[ED25519 256]--+
|    o+++==*+     |
|   o+ o. =. .    |
|   o.o.   o      |
|+.. .oo  .       |
|oO...+. S        |
|Bo= +...         |
|o*.= .  .        |
|.o+ .  .         |
|+*..   E.        |
+----[SHA256]-----+

keychainに登録します。(.bash_profileに書いてもOK)

murata@derorisnet:~$ eval `keychain --eval --agents ssh ~/.ssh/hogehoge_ed25519`

 * keychain 2.8.5 ~ http://www.funtoo.org
 * Found existing ssh-agent: 440
 * Adding 1 ssh key(s): /home/murata/.ssh/hogehoge_ed25519
Enter passphrase for /home/murata/.ssh/hogehoge_ed25519:
 * ssh-add: Identities added: /home/murata/.ssh/hogehoge_ed25519

登録されているか確認します。

murata@derorisnet:~$ keychain -l
256 SHA256:RU4gOOY+CmPhsBPn/Di6s0/CxNs1GVFNUzQABpif3rs iranai kagi (ED25519)

murata@derorisnet:~$ ssh-add -l
256 SHA256:RU4gOOY+CmPhsBPn/Di6s0/CxNs1GVFNUzQABpif3rs iranai kagi (ED25519)

別セッション(タブなど)を開いて確認もしましょう。登録されていればOKです。
もちろんパスワードをかけた鍵ファイルでもOKです。1度目に入力確認されます。

で?

使い勝手は変わらないが、プロセスが1つになるのでssh-agentのプロセスがばかすか増えることはなくなるぞ。
WSL2とVScodeを使っていますが結局、WSL側とWindows側の両方に置いておく必要があるという点は変わらないですわ。。。

WSL2からWindowsのssh-agentを使う方法もあるみたいです。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?