使用ssh-agent之前

使用ssh公钥认证的方式可以免去ssh客户端(如ssh命令、xshell等)连接远端主机sshd时需要输入对方用户密码的问题。

但如果执行ssh命令所在的主机上保存了多套秘钥且将各公钥分发给了不同的远端主机,这时即使使用了公钥认证,也依然需要输入密码,因为ssh客户端不知道要读取哪个私钥去和该远端主机上的公钥配对。

看下面这张图描述的情况:

上面描述的情形是这样的:ssh客户端要管理web server群,还要管理mysql server群,ssh客户端要为这两个群内的主机使用不同的密钥对。例如要连接web server群内的主机,使用~/.ssh/id_rsa_1这一套秘钥,连接mysql server群内的主机,使用~/.ssh/id_rsa_2这一套秘钥。

于是,将id_rsa_1.pub分发给web server群内的每个主机,将id_rsa_2.pub分发给mysql server群内的每个主机:

$ ssh-copy-id -i ~/.ssh/id_rsa_1.pub root@webserver1

$ ssh-copy-id -i ~/.ssh/id_rsa_1.pub root@webserver2

$ ssh-copy-id -i ~/.ssh/id_rsa_1.pub root@webserver3

$ ssh-copy-id -i ~/.ssh/id_rsa_2.pub root@mysqlserver1

$ ssh-copy-id -i ~/.ssh/id_rsa_2.pub root@mysqlserver2

$ ssh-copy-id -i ~/.ssh/id_rsa_2.pub root@mysqlserver3

这一切进行的都很欢乐,但是一连接,发现还是要密码:

$ ssh root@webserver1

快输入 root@webserver's 密码:???

$ ssh root@mysqlserver1

快输入 root@mysqlserver's 密码:???

这是因为ssh客户端连接webserver1的时候,除了默认会读取的规范私钥文件id_rsa(或其它秘钥类型)外,不会自动读取任何一个文件,同理连接mysqlserver1也一样。

正确的连接方式是指定连接时使用哪个私钥去配对:

$ ssh -i ~/.ssh/id_rsa_1 root@webserver1

$ ssh -i ~/.ssh/id_rsa_2 root@mysqlserver1

好欢乐,终于连上了。但是真恶心,还要指定连接私钥。

不仅如此,如果私钥是加密(passphrase)的,指定私钥的时候还得输入这个passphrase密码。

ssh mysql转发_ssh转发代理:ssh-agent用法详解相关推荐

  1. ssh转发代理:ssh-agent用法详解

    SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 使用ssh-agent之前 使用ssh公钥认证的方式可以免去ssh客户端(如 ...

  2. mysql: union / union all / 自定义函数用法详解

    mysql: union / union all http://www.cnblogs.com/wangyayun/p/6133540.html mysql:自定义函数用法详解 http://www. ...

  3. mysql中函数mid_MySQL MID()函数的用法详解(代码示例)

    在MySQL中,MID()函数返回从指定位置开始的子字符串. MID()和SUBSTR()都是SUBSTRING()的同义词. 基本语法是这样的:MID(str,pos,len) 这里,str是字符串 ...

  4. mysql in边界_mysql中 where in 用法详解

    这里分两种情况来介绍 WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如 ...

  5. mysql where in and_mysql中 where in 用法详解

    这里分两种情况来介绍 WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如 ...

  6. 还不会使用Mysql中的 limit 吗?limit 用法详解看了就会了

    LIMIT 在我们使用查询语句的时候,经常要返回前几条或者中间某几行或者第几条数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. LIMIT 子句可以被用于强制 SELECT ...

  7. wazuh agent功能详解

    wazhu之agent功能详解 一.日志数据收集 日志数据收集是从服务器或设备生成的记录中收集的实时过程.此组件可以通过文本文件或Windows事件日志接收日志.它还可以通过远程syslog直接接收日 ...

  8. Nginx(二):反向代理原理 与 配置文件详解

    相关阅读: Nginx(一):Nginx原理概述 与 安装步骤详解 Nginx(二):反向代理原理 与 配置文件详解 Nginx(三):负载均衡策略 与 Nginx静态服务器 Nginx(四):Ngi ...

  9. [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. 这个图像生成领域的PyTorch库火了,涵盖18+ SOTA GAN实现
  2. Git工作笔记001---Windows下安装Git Core以及TortoiseGit安装与配置
  3. Sharding-jdbc视频:当Sharding-jdbc遇到Spring Boot
  4. 【系列一之爬虫系列】爬取信息
  5. H5打开APP或小程序
  6. 123456789中间任意加+或-结果等于100
  7. 【转】如何使用visual studio将你的程序打包成安装包
  8. 学什么副业前景好?学一个什么副业比较好?自学副业有哪些?
  9. 皮尔斯振荡器电路如何工作?图文+案例讲解,几分钟就搞定
  10. GPA计算(5.0分制)
  11. 0成本无VPS搭建私人导航、图床、音乐服务器 | vercel freewha
  12. VB.NET编写一个“个人简历表”程序
  13. 区块链(Blockchain)简介
  14. 灭霸消灭一般人口是随即的吗_是时候消灭皇家战斗风格了
  15. 安徽科技学院 信网学院网络文化节 丁舒
  16. BCD码和十进制的转换
  17. 资源分享 | 仅需一个微软账号即可每天白嫖两小时Microsoft学习实验虚拟机云电脑...
  18. linux补丁更新服务器地址,windows系统之WSUS服务器:更改WSUS更新文件的路径
  19. 第十二章 逐步回归和通径分析
  20. HALCON已知平面两点图像坐标和对应机械坐标求仿射变换矩阵

热门文章

  1. php foreach 修改数组,php如何使用foreach修改数组
  2. tcp转串口_浅谈串口转以太网技术
  3. qq分享 设备未授权报错解决方案_金融行业思科设备典型网络故障案例:76系列典型案例(四)...
  4. Batch Normalization的细致理解
  5. 线性代数笔记:Khatri-Rao积
  6. 早停 tf.keras.callbacks.EarlyStopping() 详解【TensorFlow2入门手册】
  7. Python入门100题 | 第076题
  8. mysql DML操作、关联查询、联合查询、聚合函数使用
  9. 请求的转发:RequestDispatcher对象处理请求的两个方法--forward和include
  10. jenkins搭建流程