Linux主机之间ssh免密登录配置方法

由于公司的生产环境有很多台Linux的CentOS服务器, 为了方便机子(假设两台机子A,B)互相之间免密ssh, scp命令操作,配置如下

1. 在A、B上分别创建本机的公钥和私钥,输入命令后连续三次回车

ssh-keygen -t rsa

2. 查看公私钥的文件生成情况

cd ~/.ssh/
ls

看到列表有2个文件:

文件说明:

id_rsa : 生成的私钥文件 
id_rsa.pub : 生成的公钥文件 

3. 把A机子的公钥文件id_rsa.pub(拷贝需要重命名,否则把B的给替换了, 命令如: scp id_rsa.pub work@xen1-dev-1:/data/work/.ssh/a.id_rsa.pub)拷贝到B的 ~/.ssh 目录下

4. 登录B机子, 在~/.ssh目录下创建一个文件authorized_keys(如果已有则不需要创建):

touch authorized_keys

5. 把a.id_rsa.pub内容追加到authorized_keys文件末尾(追加后可以把文件a.id_rsa.pub删除)

cat a.id_rsa.pub >> authorized_keys

6. 设置文件和目录权限(设置的目的是确保只有当前账号拥有修改目录文件的权限):

设置authorized_keys权限

chmod 600 authorized_keys 

设置.ssh目录权限 

chmod 700 -R .ssh

7. 退出B,登录A账号, A机子使用ssh命令过去B机子:

ssh work@xen1-dev-1

此时发现已经不需要密码登录了,直接进入了B机子:

说明A机子免密登录B机子成功!

同样, B机子免密登录A机子也是同样的操作,重复上面的操作步骤即可~

原文地址:https://www.cnblogs.com/mhl1003/p/9442898.html