一 需求背景

  • master:172.24.8.30
  • client-01:172.24.8.31
  • client-01:172.24.8.32
  • client-01:172.24.8.33

在master上ssh登录client任何一台都不需要输入密码。

二 步骤

2.1 创建密钥对

ssh-master创建密钥对:

  • 私钥文件:id_rsa
  • 公钥文件:id_rsa.pub

2.2 上传公钥

将ssh-master创建的公钥id_rsa.pub上传至所有client。

2.3 导入公钥

在ssh-client将公钥导入至[需要登陆的用户家目录]/.ssh/authorized_keys

2.4 密钥登陆

master管控机直接使用密钥登陆client机器。

提示:使用ssh公钥登陆需满足至少下面两个条件:

  • .ssh目录的权限必须是700
  • .ssh/authorized_keys文件权限必须是600

三 配置实例

3.1 创建密钥

 [root@master ~]# ssh-keygen -t rsa

 Generating public/private rsa key pair.

 Enter file in which to save the key (/root/.ssh/id_rsa):

 #输出密钥保存路径,通常为默认,即/root/.ssh/id_rsa

 Enter passphrase (empty for no passphrase):

 #生成此公钥的密码,用于反向打开密钥,通常为空

 Enter same passphrase again:

 #再次确认

 Your identification has been saved in /root/.ssh/id_rsa.

 Your public key has been saved in /root/.ssh/id_rsa.pub.

 The key fingerprint is:

 06:b9:c7:41:6c:32:98:40:29:35:7b:29:7a:41:6e:7b root@imxhy.cn

 …………

 [root@master ~]# cd /root/.ssh/

 [root@master .ssh]# ll

 total 12K

 -rw-------. 1 root root 1.7K Aug 27 05:42 id_rsa #私钥文件

 -rw-r--r--. 1 root root 395 Aug 27 05:42 id_rsa.pub #公钥文件

 -rw-r--r--. 1 root root 176 Aug 27 04:30 known_hosts #已知的主机公钥清单

上传及导入公钥————方法A:

A-3.2 上传公钥

 [root@master .ssh]# scp id_rsa.pub root@172.24.8.31:/root/

 [root@master .ssh]# scp id_rsa.pub root@172.24.8.32:/root/

 [root@master .ssh]# scp id_rsa.pub root@172.24.8.33:/root/

 id_rsa.pub

A-3.3 导入公钥

 [root@client01 ~]# mkdir /root/.ssh #默认此目录不存在,需要手动创建

 [root@client01 ~]# cat id_rsa.pub >> /root/.ssh/authorized_keys

 #通过读取方式[也可以cp或mv]导入密钥

 [root@client01 ~]# cd /root/.ssh/

 [root@client01 .ssh]# chmod 600 authorized_keys

 #将此文件的权限改为600,其他用户都没有任何权限

上传及导入公钥————方法B:

B-3.2 创建目录

 [root@client01 ~]# mkdir /root/.ssh

注意:三个client都需要创建。

B-3.3 复制并导入公钥至client

 [root@master ~]#

 scp -p /root/.ssh/id_rsa.pub root@172.24.8.31:/root/.ssh/authorized_keys

 scp -p /root/.ssh/id_rsa.pub root@172.24.8.32:/root/.ssh/authorized_keys

 scp -p /root/.ssh/id_rsa.pub root@172.24.8.33:/root/.ssh/authorized_keys

3.4 修改配置

 [root@client01 ~]# vi /etc/ssh/sshd_config

 RSAAuthentication yes #打开RSA认证

 PubkeyAuthentication yes #开启使用公钥认证

 AuthorizedKeysFile .ssh/authorized_keys #公钥保存位置

 PasswordAuthentication no #禁止使用密码验证登陆

注意:一般不需要操作,默认即可实现登录,若有其他报错则需要此操作。

3.5 登陆验证

 [root@master ~]# ssh 172.24.8.31

 Last login: Sat Jul 15 19:36:51 2017 from 172.24.8.1

003.SSH密钥对登陆的更多相关文章

  1. Linux ssh 密钥对登陆设置

    SSH通过密钥连接 ssh -i ~/miyao.pem root@server_ip 密钥权限要设置为仅root用户读写 chmod 600 ~/miyao.pem 密钥可添加到系统里,以后连接可除 ...

  2. 多个网站使用不同的SSH密钥登陆(zz)

    多个网站使用不同的SSH密钥登陆   1.创建不同的SSH密钥, -t指定加密方法,RSA或DSA:-C注释:-f指定文件名   www.2cto.com   ssh-keygen -t dsa -C ...

  3. 烂泥:学习ssh之ssh无密码登陆

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天 ...

  4. 通过SSH服务登陆linux服务器(版本RHEL7)

    通过SSH服务登陆linux服务器(版本RHEL7) SSH服务概述:是一种能够以安全的方式提供远程登陆的协议,也是目前远程管理linux系统的首选方式.在此之前,我们一般使用FTP或者telnet来 ...

  5. 一键SSH连接 = SSH密钥登陆 + WindowsTerminal

    本文记录如何利用SSH密钥登录和WindowsTerminal/FluentTerminal实现一键SSH连接 目录 一.在本地生成SSH密钥对 二.在远程主机安装公钥 三.在远程主机打开密钥登陆功能 ...

  6. Centos7 密钥对登陆(适用于群晖DSM)

    www.swack.cn - 原文链接:Centos7 密钥对登陆(适用于群晖DSM) 1.生成证书 此处证书使用swack用户生成 注:不要使用root生成证书,因为我们后面会禁用root登陆 [s ...

  7. 《Ansible权威指南》笔记(1)——安装,ssh密钥登陆,命令

    2016-12-23 读这本<Ansible权威指南>学习ansible,根据本书内容和网上的各种文档,以及经过自己测试,写出以下笔记.另,这本书内容很好,但印刷错误比较多,作者说第二版会 ...

  8. Linux2 在Linux(CentOS)上配置SSH免登陆

    前言:      本文主要是我在安装hadoop之前,需要先配置SSH免登陆.通过网上搜索,发现不少类似的资料,但多少都有些小问题,所以结合自己的实践,记录在此,作为参考.如果能帮助到其他人,自然是更 ...

  9. shell实现SSH自动登陆

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

随机推荐

  1. C++并发编程实战---阅读笔记

    1. 当把函数对象传入到线程构造函数中时,需要避免“最令人头痛的语法解析”.如果传递了一个临时变量,而不是一个命名的变量:C++编译器会将其解析为函数声明,而不是类型对象的定义. 例如: class ...

  2. Linux上安装node和npm

    说明:最近工作中需要用到react前端框架使得可以前后分离,在安装react之前呢我是需要先安装node,和npm的 由于npm是依赖于node 的,所以我这边只要安装了node后,npm也就安装完成 ...

  3. HDU 6156 数位dp

    Palindrome Function Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Ot ...

  4. jQueryCDN

    分享几个jquery的几个国内国外的CDN加速节点,方便广大的开发设计者调用和节约空间,官网的总是最新版本的jquery所以不用去担心版本更新问题,其他加速节点可能不会在更新版本,所以取舍问题自己决定 ...

  5. Jsp使用遍历List集合

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  6. Hash::make与Hash::check

    调用方法之前要先去引用: use Illuminate\Support\Facades\Hash; 可以调用 Hash 门面上的 make 方法对存储密码进行哈希: $pwd = Hash::make ...

  7. c++刷题(39/100)笔试题3

    题目1: 现在你需要用一台奇怪的打字机书写一封书信.信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写 信的内容由a-z的26个小写字母构成,而每个 ...

  8. c++刷题(30/100)

    题目一:合并两个排序的链表 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 思路:利用两个指针cur1,cur2来指分别向两个链表中当前较小的和当前较大的 ...

  9. 第二篇:服务消费者(rest + ribbon)

    一. ribbon简介 ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为,Feign也用到了ribbon,当你使用@ FeignClient,ribbon自动被应用. Rib ...

  10. org.hibernate.TransientObjectException异常

    代码如下: /** * 测试4:新增一个秘书角色,并赋给张三该角色 */ @Test public void test4(){ Session session = HibernateUtils.ope ...