ssh-add详解

一、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。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/271545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-16 14:56
下一篇 2024-12-16 14:56

相关推荐

  • Python SSH 远程执行命令

    Python SSH 远程执行命令是指在一个服务器上执行远程另一个服务器上命令。如果你需要在本地机器上执行命令,或者在远程机器上执行本地命令,你都可以使用 SSH。在 Python…

    编程 2025-04-29
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25

发表回复

登录后才能评论