ssh免密码配置
来源:互联网 发布:网络格言 编辑:程序博客网 时间:2024/05/21 06:55
ssh免密码登录配置
SSH无密码登录的原理如下
假设A机器想要通过SSH无密码登录访问B机器,则需要在A机器上生成一对秘钥(公钥+私钥),而后将公钥复制到B机器上;
当A机器通过SSH链接B机器时,B机器就会生成一个随机数,并且使用A机器的公钥(通过上一步拷贝,B机器上有A机器公钥的拷贝)对随机数进行加密,并把加密的“密文”回送给A机器;
A机器收到密文后,用自己的私钥解密,把解密后的“明文”(其实就是那个随机数)再回送给B机器;
B机器收到A机器发过来“明文”后,与自己拥有的那一份比对确认,当确认通过后允许A机器链接自己;
(整个过程是个公钥认证过程,无需密码输入,从SSH协议角度讲,A是客户端,B是服务器端)
所以,问题的关键就是,如何在A机器上生成密钥对,并且把公钥发到B机器。
配置步骤
第一:在A机器生成秘钥对
[plain] view plain copy
1. ssh-keygen -t rsa
则在/root/.ssh/目录下会有两个文件:id_rsa与id_rsa.pub
第二:把id_rsa.pub拷贝到本目录下一个名叫authorized_keys的文件
1. ssh-copy-id had01 (hosts)
或者
[plain] view plain copy
1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第三:分别设置.ssh目录和authorized_keys文件的权限
[plain] view plain copy
1. chmod 700 ~/.ssh
2. chmod 600 ~/.ssh/authorized_keys
上面操作完成后,则完成了A机器到本机(A机器)的SSH密码登录,现在要使A无密码SSH登录B,
第四:在B机器新建.ssh目录与authorized_keys文件,并且雷同第三步修改权限
第五:通过scp把A机器上的id_rsa.pub拷贝到B机器,并且追加到B机器的authorized_keys文件下
(完成上面步骤,则完成了A机器到B机器的无密码SSH登录)
当在一个由多台机器组成的集群中,我们想每两两之间都能实现SSH无密码登录,则可以规划上面的生成流程:
第一:在所有机器上生成秘钥对;
第二:迭代把自己的id_rsa.pub拷贝到其他机器,并且追加到authorized_keys文件;
比如我配置成功之后的界面如下: [hadoop@master ~]$ clear
[hadoop@master ~]$ ssh slave1
Last login: Mon Nov 3 13:33:02 2014 from 192.168.56.101
[hadoop@slave1 ~]$ ssh master
Last login: Mon Nov 3 13:33:06 2014 from 192.168.56.102
[hadoop@master ~]$
如果遇到登录失败的情况:我用的是centos版本是6.5,centos6.5对网络管理相当严格,需要在原来的基础上关闭selinux,到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled,重启机器,ok。
- ssh 免密码配置
- ssh免密码配置
- ssh免密码配置
- 配置ssh免密码登录
- ssh免密码登录配置
- 免密码登录ssh配置
- 配置SSH免密码登陆
- 配置SSH免密码登录
- 配置ssh免密码登录
- ssh 配置免密码登陆
- ssh 免密码登录配置
- 配置ssh免密码登录
- SSH免密码登录配置
- SSH配置免密码登录
- 配置ssh免密码登录
- ssh免密码登录配置
- 配置ssh免密码登录
- SSH免密码登陆配置
- Java NIO框架简要设计分析
- PHP获取HTML网页内容的多种方法(精)
- 【模板】线段树单点修改
- Android7.0拍照以及使用uCrop裁剪
- Grails3.3框架 脚手架自动生成Controller和View 标准写法
- ssh免密码配置
- Oculus Home安装
- python requests
- Git fetch和git pull的区别, 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).
- poj 2823 Sliding Window(单调队列)
- 反射
- 1050:偶数求和
- 【React Native】ES6新特性
- 隐写术总结