一、ssh-add简介
ssh-add是一种用于管理SSH私钥的工具。利用它,用户可以在当前会话中添加、删除、列出和验证SSH密钥。
ssh-add是OpenSSH软件套件的一部分,并且可以在Linux和其他Unix操作系统上使用。
二、ssh-add的使用
1、添加密钥
ssh-add ~/.ssh/id_rsa
在上述命令中,我们向ssh-add指示添加~/.ssh/id_rsa文件中存储的密钥。如果有需要,我们可以将其替换为其他SSH密钥文件名。
2、列出密钥
ssh-add -l
使用“ssh-add -l”命令列出在ssh-agent中缓存的公钥的SHA-256指纹。
3、删除密钥
ssh-add -d ~/.ssh/id_rsa
在上述命令中,我们向ssh-add指示删除~/.ssh/id_rsa文件中存储的密钥。如果需要,我们可以将其替换为其他SSH密钥文件名。
三、ssh-add的自动化
虽然可以使用ssh-add手动添加密钥,但为了便于管理,我们可以将其自动化。
1、在bash中使用ssh-add
可以向bash配置文件(例如~/.bashrc或~/.bash_profile)添加以下行,该行将在登录时自动将密钥添加到ssh-agent:
eval "$(ssh-agent -s)" #启动代理 ssh-add ~/.ssh/id_rsa #添加私钥到代理
2、使用keychain自动添加SSH密钥
keychain是一个开源的Shell脚本,它使用ssh-agent来管理SSH密钥。 它可以在登录时自动启动ssh-agent,并从默认目录中加载SSH密钥。
首先,需要安装keychain。在各个Linux发行版中,可以使用标准包管理器安装keychain。例如,在Ubuntu和Debian上,可以使用以下命令进行安装:
sudo apt-get update sudo apt-get install keychain
完整代码如下:
# 在bashrc中添加以下行 eval $(keychain --eval --agents ssh id_rsa) # 使用以下命令启动shell程序 /bin/bash --login
四、ssh-add的注意事项
1、警惕ssh-add -k命令
在向ssh-add添加私钥时,不应使用“ssh-add -k”选项。此选项将向ssh-agent启用锁定。
如果意外使用了锁定选项,可以使用以下命令将其解锁:
ssh-add -k
2、安全使用密钥
当使用ssh-add添加私钥时,应该注意密钥的安全性。应该将它们保持在只允许其拥有者访问的安全位置,并且应该使用高强度密码保护。
另外,不应在不受信任的计算机上使用SSH私钥。检查SSH主机密钥,以确认您正在连接到您信任的计算机。
五、总结
ssh-add是一种用于管理SSH私钥的工具,可以在Linux和其他Unix操作系统上使用。可以手动添加、删除、列出和验证SSH密钥。同时,我们也可以通过自动化实现ssh-add。