ssh-agent是ssh代理程序,使用ssh-agent可以方面管理私钥。

ssh-agent主要使用在如下两个场景:

1.使用不同的密钥连接不同主机,每次连接都要指定私钥;

2.当私钥设置了密码,每次使用认证时都需要输入密码,非常麻烦。

启动ssh-agent

启动ssh-agent有两种方法:

ssh-agent $SHELL

eval 'ssh-agent'

  • ssh-agent $SHELL

    这种方式会在当前shell中启动一个默认shell作为当前shell的子shell,ssh-agent程序会在子shell中运行。$SHELL变量名代表系统的默认shell,如果自己知道系统使用的是哪一种shell也可以直接指定,如ssh-agent bash,ssh-agent csh.退出当前子shell使用exit。使用pstree查看进程树。

  • eval 'ssh-agent'

    这种方式不会启动一个子shell,而是直接启动一个ssh-agent进程,使用ssh-agent -k来关闭代理。如果退出了当前bash,再使用ssh-agent -k无法关闭代理。当然,第一种方式可是可以使用ssh-agent -k来关闭代理的。

添加密钥

使用如下命令将私钥添加到代理中

ssh-add ~/.ssh/id_rsa_test

id_rsa_custom是指私钥,上述命令需要在已经启动了ssh-agent的状态下使用。

选择对应的私钥

这种情况是我们在创建密钥对时手动指定了密钥名称,而不是使用默认的名称。分为以下几步:

  • ssh-agent bash

    启动代理程序

  • ssh-add ~/.ssh/id_rsa_test

    添加密钥

  • ssh root@192.168.0.45

    连接远程机器

免去输入私钥密码

这种情况是我们在创建密钥对时指定了密钥的密码,解决过程分为几步。

  • ssh-agent bash

    启动代理程序

  • ssh-add ~/.ssh/id_rsa_test

    将密钥加入代理,此时会提示输入密钥的密码

  • ssh -i ~/.ssh/id_rsa_test root@192.168.0.45

    连接远程机器

相关命令

ssh-add -l	//查看代理中的私钥
ssh-add -L //查看公钥
ssh-add -d /root/.ssh/id_rsa_test //移除密钥
ssh-add -D //清空所有私钥
ssh-add -x //对代理进行加锁,加锁后仍然需要指定密钥或者密码等
ssh-add -X //对代理进行解锁

使用ssh-agent管理密钥的更多相关文章

  1. 第9章 使用ssh服务管理远程主机。

    章节简述: 学习使用nmtui命令配置网卡参数.手工将多块网卡做绑定.使用nmcli命令查看网卡信息和使用ss命令查看网络及端口状态. 完整演示sshd服务配置方法并详细讲述每个参数的作用,实战基于密 ...

  2. SSH应该使用密钥还是密码?

    关于SSH,几乎每个人都同意密钥要优于密码,更安全,并且更先进,但我并不同意这个观点. 虽然密钥的确可以更好,但它有着还没被意识到的严重风险,并且我认为比得到妥善管理的密码更不安全. 通常密钥更好的理 ...

  3. 五.ssh远程管理服务

    01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...

  4. Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

    SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...

  5. ssh远程管理服务的介绍

    第6章 远程管理的介绍 6.1 服务的概念介绍 6.1.1 ssh和telnet服务的相同和不同点 ssh: 服务端口号为22 在数据传输的时候是加密的传输 一般在互联网中使用,可以使用root账号进 ...

  6. SSH远程管理

    目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机 小结 SSH远程管 ...

  7. SSH agent 的使用 - 资料摘录

    下面是一些ssh agent的资料简要摘录,网路上的相关的文章已经很多了: ssh 推荐的登录方式是使用私钥登录.但是如果生成私钥的时候,设置了口令(passphrase),每次登录时需要输入口令也很 ...

  8. 《Linux就该这么学》培训笔记_ch09_使用ssh服务管理远程主机

    <Linux就该这么学>培训笔记_ch09_使用ssh服务管理远程主机 文章最后会post上书本的笔记照片. 文章主要内容: 配置网络服务 远程控制服务 不间断会话服务 书本笔记 配置网络 ...

  9. SSH远程管理服务实战

    目录 SSH远程管理服务实战 1.SSH基本概述 2.SSH相关命令 3.Xshell连接不上虚拟机 4.scp命令 5.sftp命令 6.SSH验证方式 7.SSH场景实践 8.SH安全优化 9.交 ...

随机推荐

  1. 获取Activity的返回参数

    一.新建一个空的工程 二.在主界面中添加一个按钮和一个TextView组件 三.新建一个空的activity,命名为TheAty,并添加一个按钮和一个EditText组件 四.重写TheAty的源代码 ...

  2. access_ok | 检查用户空间内存块是否可用

    access_ok() 函数是用来代替老版本的 verify_area() 函数的.它的作用也是检查用户空间指针是否可用. 函数原型:access_ok (type, addr, size); 变量说 ...

  3. matlab中double和im2double

    uint8的图像里 im2double其实就是double(I/255); 像素值被标准化到0-1. 16位图像以此类推.

  4. 转:C++模板特化的概念

    http://blog.csdn.net/yesterday_record/article/details/7304025 很久没有看C++,在看STL源码剖析时,看到一个function templ ...

  5. Ant入门: Hello World with Apache Ant

    笔者因项目需要进行java程序打包,之前一直使用的最多的打包工具要数fat-jar了.此工具将所有引用的jar包以及源码生成的class一起打到一个包里面,运行程序的时候直接运行命令:java –ja ...

  6. LOJ#2351. 「JOI 2018 Final」毒蛇越狱

    LOJ#2351. 「JOI 2018 Final」毒蛇越狱 https://loj.ac/problem/2351 分析: 首先有\(2^{|?|}\)的暴力非常好做. 观察到\(min(|1|,| ...

  7. Django Rest Framework - Could not resolve URL for hyperlinked relationship using view name “user-detail”

    要把跟当前表相关的viewset定义出来 http://stackoverflow.com/questions/20550598/django-rest-framework-could-not-res ...

  8. 【HTML5】Canvas绘图详解-1

    ----->Canvas绘制基础 1,线条绘制 1-1,线条组成的图形和beginPath 案例:绘制由不同颜色的线条组成的图案 1-2,多边形的填充和closePath 案例:绘制封闭具有填充 ...

  9. 9 闭包——《Swift3.0从入门到出家》

    8  闭包 Swift语言中可以使用一块独立代码块替代函数的定义,称独立的代码块为闭包 闭包格式为: {(参数列表)->返回值类型    in 执行语句 } 例子: <1>使用闭包实 ...

  10. php无wsdl webservice服务用法

    服务端: <?php class test { function add($a,$b) { return $a+$b; } } function getUserInfo($name) { ret ...