使用ssh-agent管理密钥
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管理密钥的更多相关文章
- 第9章 使用ssh服务管理远程主机。
章节简述: 学习使用nmtui命令配置网卡参数.手工将多块网卡做绑定.使用nmcli命令查看网卡信息和使用ss命令查看网络及端口状态. 完整演示sshd服务配置方法并详细讲述每个参数的作用,实战基于密 ...
- SSH应该使用密钥还是密码?
关于SSH,几乎每个人都同意密钥要优于密码,更安全,并且更先进,但我并不同意这个观点. 虽然密钥的确可以更好,但它有着还没被意识到的严重风险,并且我认为比得到妥善管理的密码更不安全. 通常密钥更好的理 ...
- 五.ssh远程管理服务
01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...
- Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务
SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...
- ssh远程管理服务的介绍
第6章 远程管理的介绍 6.1 服务的概念介绍 6.1.1 ssh和telnet服务的相同和不同点 ssh: 服务端口号为22 在数据传输的时候是加密的传输 一般在互联网中使用,可以使用root账号进 ...
- SSH远程管理
目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机 小结 SSH远程管 ...
- SSH agent 的使用 - 资料摘录
下面是一些ssh agent的资料简要摘录,网路上的相关的文章已经很多了: ssh 推荐的登录方式是使用私钥登录.但是如果生成私钥的时候,设置了口令(passphrase),每次登录时需要输入口令也很 ...
- 《Linux就该这么学》培训笔记_ch09_使用ssh服务管理远程主机
<Linux就该这么学>培训笔记_ch09_使用ssh服务管理远程主机 文章最后会post上书本的笔记照片. 文章主要内容: 配置网络服务 远程控制服务 不间断会话服务 书本笔记 配置网络 ...
- SSH远程管理服务实战
目录 SSH远程管理服务实战 1.SSH基本概述 2.SSH相关命令 3.Xshell连接不上虚拟机 4.scp命令 5.sftp命令 6.SSH验证方式 7.SSH场景实践 8.SH安全优化 9.交 ...
随机推荐
- SpringCloud教程 | 第十一篇: docker部署spring cloud项目
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://blog.csdn.net/forezp. http://blog.csdn.net/forezp/art ...
- 基于UDP协议编程
基于udp套接字 udp是无链接的,先启动哪一端都不会报错. UDP(user datagram protocol,用户数据报协议)是无连接的,面向消息的,提供高效率服务.不会使用块的合并优化算法,, ...
- 如何在公司Http代理后使用NuGet官方源
文章转自CSDN 霍力强的专栏 有些公司上网使用的是Http代理.默认情况下,VS是无法访问外部网络的.如果要使用NuGet,通常只能在局域网里架一个自己的NuGet服务器.但这种方法不论是packa ...
- SHELL 脚本----常用的命令
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行she ...
- better1【模式】Module模式
var myModule = (function($, _) { var privateVariable = "Hello World" var pulicProperty = & ...
- [python] 获得所有的最长公共子序列
两句闲话 得到两个序列的最长公共子序列(LCS)是个经典问题,使用动态规划,实现起来并不难. 一般来说,我们只是输出一个LCS.但是,老师布置的作业是输出所有的LCS. 解法 按照一般的方法,我们首先 ...
- [css小技巧]input去除边框问题
border:none;是不够的 (1)在谷歌浏览器添加 outline: none;去除点击后产生的边框; (2)IE7下border: none;还会有边框存在,改用border: 0;即可,同时 ...
- [BZOJ5133][CodePlus2017年12月]白金元首与独舞
bzoj luogu 题意 给你一个\(n*m\)的网格,每个位置上有一个箭头指向上或下或左或右.有些位置上还没有箭头,现在要求你在这些没有箭头的位置上填入箭头,使得从网格的任意一个位置开始,都可以沿 ...
- 1.2 java web的发展历史
前言 了解java web的发展历史和相关技术的演进历程,非常有助于加深对java web技术的理解和认识. 阅读目录 1.Servlet的出现 2.Jsp的出现 3.倡导了MVC思想的Servlet ...
- hdu 3625 Examining the Rooms——第一类斯特林数
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3625 n^2 求斯特林数就行.要减去的就是1号钥匙在1号房间的方案,即 s[ n-1 ][ m-1] . ...