我正在尝试在启动计算机时自动加载我的 SSH 密钥(我正在运行 Archlinux)。目前我必须使用ssh-add [PATH]
。我使用 ZSH、Oh my ZSH 和 PowerLevel10k。
这是我的.ssh
文件夹:
.ssh
├── config
├── environment-z
├── known_hosts
├── known_hosts.old
├── v_ssh
├── v_ssh.pub
├── z_ssh
└── z_ssh.pub
我使用 ssh-agent 插件ohmyzsh
,并使用 所要求的配置PowerLevel10k
:
[...]
plugins=(git ssh-agent gpg-agent zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting zsh-autocomplete colorize colored-man-pages)
zstyle :omz:plugins:ssh-agent quiet yes
zstyle :omz:plugins:ssh-agent lazy yes
source $ZSH/oh-my-zsh.sh
[...]
我还有包含.ssh/config
以下内容的文件:
AddKeysToAgent yes
您能告诉我如何在启动时加载我的两个 SSH 密钥(z_ssh
和)吗?v_ssh
答案1
以下是解决此问题的一个方法。
.ssh-add-keys.sh
我在.ssh
目录中创建了一个脚本
#!/usr/bin/env bash
cd ~/.ssh
eval $(ssh-agent) > /dev/null
# add all ssh keys
find ~/.ssh -name 'id_*' ! -name '*.pub' -exec ssh-add -q {} \;
并把这些行
# add ssh keys
source ~/.ssh/ssh-add-keys.sh
在结束时.zshrc
。注销 - 登录
ssh-add -l
并且我的所有密钥都存在。
更新。如果你使用的是台式机,则添加以下行
Host *
AddKeysToAgent yes
到您的~/.ssh/config
文件中,并再次将您的密钥添加到 ssh-agent。现在它们应该保存在您的密码管理器中。