前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >003.SSH密钥对登陆

003.SSH密钥对登陆

作者头像
木二
发布2019-07-26 10:33:41
1.1K0
发布2019-07-26 10:33:41
举报
文章被收录于专栏:木二天空

一 需求背景

  • 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 创建密钥

代码语言:javascript
复制
  1 [root@master ~]# ssh-keygen -t rsa
  2 
  3 Generating public/private rsa key pair.
  4 
  5 Enter file in which to save the key (/root/.ssh/id_rsa):
  6 
  7 #输出密钥保存路径,通常为默认,即/root/.ssh/id_rsa
  8 
  9 Enter passphrase (empty for no passphrase):
 10 
 11 #生成此公钥的密码,用于反向打开密钥,通常为空
 12 
 13 Enter same passphrase again:
 14 
 15 #再次确认
 16 
 17 Your identification has been saved in /root/.ssh/id_rsa.
 18 
 19 Your public key has been saved in /root/.ssh/id_rsa.pub.
 20 
 21 The key fingerprint is:
 22 
 23 06:b9:c7:41:6c:32:98:40:29:35:7b:29:7a:41:6e:7b root@imxhy.cn
 24 
 25 …………
 26 
 27 [root@master ~]# cd /root/.ssh/
 28 
 29 [root@master .ssh]# ll
 30 
 31 total 12K
 32 
 33 -rw-------. 1 root root 1.7K Aug 27 05:42 id_rsa #私钥文件
 34 
 35 -rw-r--r--. 1 root root 395 Aug 27 05:42 id_rsa.pub #公钥文件
 36 
 37 -rw-r--r--. 1 root root 176 Aug 27 04:30 known_hosts #已知的主机公钥清单

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

A-3.2 上传公钥

代码语言:javascript
复制
  1 [root@master .ssh]# scp id_rsa.pub root@172.24.8.31:/root/
  2 
  3 [root@master .ssh]# scp id_rsa.pub root@172.24.8.32:/root/
  4 
  5 [root@master .ssh]# scp id_rsa.pub root@172.24.8.33:/root/
  6 
  7 id_rsa.pub

A-3.3 导入公钥

代码语言:javascript
复制
  1 [root@client01 ~]# mkdir /root/.ssh #默认此目录不存在,需要手动创建
  2 
  3 [root@client01 ~]# cat id_rsa.pub >> /root/.ssh/authorized_keys
  4 
  5 #通过读取方式[也可以cp或mv]导入密钥
  6 
  7 [root@client01 ~]# cd /root/.ssh/
  8 
  9 [root@client01 .ssh]# chmod 600 authorized_keys
 10 
 11 #将此文件的权限改为600,其他用户都没有任何权限

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

B-3.2 创建目录

代码语言:javascript
复制
  1 [root@client01 ~]# mkdir /root/.ssh

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

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

代码语言:javascript
复制
  1 [root@master ~]#
  2 
  3 scp -p /root/.ssh/id_rsa.pub root@172.24.8.31:/root/.ssh/authorized_keys
  4 
  5 scp -p /root/.ssh/id_rsa.pub root@172.24.8.32:/root/.ssh/authorized_keys
  6 
  7 scp -p /root/.ssh/id_rsa.pub root@172.24.8.33:/root/.ssh/authorized_keys

3.4 修改配置

代码语言:javascript
复制
  1 [root@client01 ~]# vi /etc/ssh/sshd_config
  2 
  3 RSAAuthentication yes #打开RSA认证
  4 
  5 PubkeyAuthentication yes #开启使用公钥认证
  6 
  7 AuthorizedKeysFile .ssh/authorized_keys #公钥保存位置
  8 
  9 PasswordAuthentication no #禁止使用密码验证登陆

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

3.5 登陆验证

代码语言:javascript
复制
  1 [root@master ~]# ssh 172.24.8.31
  2 
  3 Last login: Sat Jul 15 19:36:51 2017 from 172.24.8.1
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 需求背景
  • 二 步骤
    • 2.1 创建密钥对
      • 2.2 上传公钥
        • 2.3 导入公钥
          • 2.4 密钥登陆
          • 三 配置实例
            • 3.1 创建密钥
              • A-3.2 上传公钥
                • A-3.3 导入公钥
                  • B-3.2 创建目录
                    • B-3.3 复制并导入公钥至client
                      • 3.4 修改配置
                        • 3.5 登陆验证
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档