CentOS下SSH配置无密码登录
Posted tokendeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS下SSH配置无密码登录相关的知识,希望对你有一定的参考价值。
如果没有安装SSH服务,通过命令安装:
sudo apt-get install ssh
启动SSH服务:
service sshd restart
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机器生成秘钥对
ssh-keygen -t rsa
则在/root/.ssh/目录下会有两个文件:id_rsa与id_rsa.pub
第二:把id_rsa.pub拷贝到本目录下一个名叫authorized_keys的文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
第三:分别设置.ssh目录和
authorized_keys文件的权限
chmod 700 ~/.ssh
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文件;
以上是关于CentOS下SSH配置无密码登录的主要内容,如果未能解决你的问题,请参考以下文章