文档章节

SSH免密登录原理及配置

binxin5108
 binxin5108
发布于 2016/04/01 18:24
字数 588
阅读 1975
收藏 13
SSH

一、SSH免密登录原理

SSH免密登陆配置图示

SSH免密登陆配置

SSH免密登录原理图示

SSH免密登录原理

二、具体配置操作

环境准备

  1. 操作系统:centos 6.4
  2. serverA: 192.168.100.129
  3. serverB: 192.168.100.130

配置

没做任何配置前从serverA上SSH登录到serverB时需要输入密码的(如果是第一次登录,输入密码前还会询问授权yes/no,只管输入yes就行):

[binxin@serverA ~]$ ssh binxin@serverB
binxin@serverb's password: 
Last login: Fri Apr  1 00:35:41 2016 from servera
[binxin@serverB ~]$ 

下面开始免密登陆的配置:

  • 在serveA上生成秘钥对:
[binxin@serverA ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/binxin/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/binxin/.ssh/id_rsa.
Your public key has been saved in /home/binxin/.ssh/id_rsa.pub.
The key fingerprint is:
f2:f1:00:ca:b0:d0:3c:52:ac:9b:b7:0d:7e:62:f3:39 binxin@serverA
The key's randomart image is:
+--[ RSA 2048]----+
| ..              |
| +.              |
|o.=   .          |
|.o = . .         |
| o. o . S        |
|o o    o +       |
| o +    . .      |
|  * E.           |
| . =o.           |
+-----------------+
[binxin@serverA ~]$ 

查看用户目录下的ssh(隐藏的)文件夹,秘钥对已经生成,公钥id_rsa.pub,私钥id_rsa

[binxin@serverA ~]$ cd .ssh/
[binxin@serverA .ssh]$ ls
id_rsa  id_rsa.pub  known_hosts
[binxin@serverA .ssh]$ 
  • 通过scp命令复制serverA的公钥到serverB上
[binxin@serverA .ssh]$ scp ~/.ssh/id_rsa.pub binxin@serverB:/home/binxin/id_rsa.pub
binxin@serverb's password: 
id_rsa.pub                                           100%  396     0.4KB/s   00:00    
[binxin@serverA .ssh]$
  • 登录serverB,将上步靠过来的公钥添加到授权列表文件authorized_keys中,刚开始没有这个文件,追加的时候自动生成了
[binxin@serverB ~]$ cd .ssh/
[binxin@serverB .ssh]$ ls
[binxin@serverB .ssh]$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
[binxin@serverB .ssh]$ ls
authorized_keys
[binxin@serverB .ssh]$
  • authorized_keys文件的权限必须为600,ssh目录权限必须为700,手动修改权限
[binxin@serverB ~]$ chmod 700 ~/.ssh 
[binxin@serverB ~]$ chmod 600 ~/.ssh/authorized_keys 
  • 检验配置是否成功,从serverA通过ssh登陆到serverB,发现不用输密码直接登陆成功了,搞定!
[binxin@serverA .ssh]$ ssh binxin@serverB
Last login: Fri Apr  1 00:46:54 2016 from servera
[binxin@serverB ~]$

三、可能的问题

权限问题

配置完authorized_keys一直不生效,很可能是因为.ssh目录和下面文件的权限问题导致的,因为目录的权限已经超过了sshd的要求权限。如果希望ssh公钥生效需满足至少下面两个条件:.ssh目录的权限必须是700,.ssh/authorized_keys文件权限必须是600

© 著作权归作者所有

binxin5108
粉丝 4
博文 9
码字总数 6199
作品 0
广州
后端工程师
私信 提问
加载中

评论(1)

天空之城2018
天空之城2018
good:bowtie:
ssh 免密登录并用脚本群起服务

让普通用户可以sudo,并且不需要输入密码 [root@hadoop13 bin]# visudo 必须先配置好ssh 图2-40 免密登陆原理 (2)生成公钥和私钥: 然后敲(三个回车),就会生成两个文件idrsa(私钥)、i...

暗中观察
06/02
0
0
Linux 下设置SSH 免密登录,及相关报错解决

目录 一 环境 系统环境 软件环境 二 免密配置 1.操作步骤 2. 配置失败case 一 环境 系统环境: CENTOS 6.6 内核 2.6.32 [xxx@scripts-1 ~]$ lsb_release -aLSB Version: :base-4.0-amd64:bas...

tacg
2016/04/13
149
0
为什么cloudera安装hadoop不需要免密登录了

大多数安装过hadoop的人应该都配置过ssh免密登录,为啥需要免密登录,主要是因为 start-all.sh 这样的启动脚本,这个脚本会ssh登录到其他服务器上并执行hadoop-daemon.sh start namenode had...

专业写BUG的程序员
2017/11/22
0
0
Hadoop用户配置ssh免密登录

一般生产环境 Hadoop组件都是由hadoop用户来启动,首先需要配置hadoop用户ssh免密登录 1.创建Hadoop用户 2.切换到hadoop用户 配置免密登录 3.总结 hadoop用户配置ssh免密登录 authorized_key...

wangkunj
2018/05/17
0
0
用GitLab-Runner打造锋利的CI/CD

一、前言 本文介绍的内容包含: 理解CI/CD及其必要性 gitlab-runner安装 gitlab-ci配置说明 ssh免密登录 rsync部署文件 多环境发布与回滚 高频出现的问题并解决 阅读本文需要你: 有一定的s...

Wilton
04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 常用注解说明

实体类 @Entity (实体类注解) @Table(可指定表名) @Data(可缺省get/set) @Id (指定属性主键) @GeneratedValue(指定主键生成规则)

兜兜毛毛
38分钟前
0
0
局域网能互相ping通,ubuntu虚拟机不能上外网

【问题】 桥接模式老是无法上网,查看本机IP发现被分配了一个私网地址,猜测应该是虚拟DHCP服务器没有打开,于是查看Ubuntu的网络配置: /etc/network/interfaces 发现没有dhcp配置的信息,只...

tahiti_aa
今天
1
0
以太坊助记词PHP开发包简介

以太坊助记词PHP开发包用来为PHP以太坊应用增加助记词和层级确定密钥支持能力。下载地址:以太坊助记词php开发包 。 1、开发包概述 以太坊助记词PHP开发包主要包括以下特性: 生成符合BIP39...

汇智网教程
昨天
2
0
系统监控-分布式调用链Skywalking

1. 为什么要使用分布式调用链技术? 随着公司业务的高速发展,公司服务之间的调用关系愈加复杂,如何理清并跟踪它们之间的调用关系就显的比较关键。线上每一个请求会经过多个业务系统,并产生...

秋日芒草
昨天
6
0
告诉自己的一些建议

摆脱学生心态 尽快发挥自己价值,让公司感知自己的存在,才是王道 选择比努力重要 自己附着的平台的经济体要是一个快速崛起的行业 转行趁早,年龄越大选择成本越高 趁早大量试错,学习新领域...

林怡丰
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部