Centos7.2 SSH免密登录设置

本文详细介绍了一种通过设置公钥认证实现SSH免密登录的方法。主要包括:编辑配置文件允许公钥认证、生成公钥、将公钥添加到授权文件中、调整文件权限确保安全性,以及如何验证免密登录是否成功。

一、免密登录设置

1.编辑 sudo /etc/ssh/sshd_config

AuthorizedKeysFile xxx   //公钥文件路径 一般是当前用户目录下.ssh/authorized_keys文件

PubkeyAuthentication yes  //开启免密认证

systemctl restart sshd    //重启ssh服务

 

2.生成公钥
ssh-keygen -t rsa   //一直回车执行即可

3.添加公钥
cat id_rsa.pub > authorized_keys  //如果没有创建即可

4.赋予权限
chmod 700 ~/.ssh

chmod 700 ~/.ssh/authorized_keys   //没有权限无法免密登录成功

 

5.验证

ssh develop@tdeveloptest   //这里用户名和域名(IP) 必须和 ssh-keygen中的公钥署名一致

 

二、SSH免密登录流程

 

CentOS 7系统下实现SSH免密登录三台虚拟机,可按以下步骤操作: ### 1. 生成SSH钥对 在三台虚拟机的用户目录下(以root用户为例,目录为/root;普通用户的文件夹是在/home目录下与用户名相同的目录),执行以下操作。若没有隐藏的文件夹.ssh,可以自行创建。然后输入命令生成钥对: ```bash ssh-keygen -t dsa -P "" -f /root/.ssh/id_dsa ``` 此命令中,`ssh-keygen` 代表生成钥;`-t` 表示生成钥的类型;`-P` 提供语;`-f` 指定生成的文件。命令执行完毕后,会在 `.ssh` 文件夹下生成两个文件,分别是 `id_dsa` 和 `id_dsa.pub`,这是SSH的一对私钥和公钥 [^3]。 ### 2. 配置本机免密登录 将 `id_dsa.pub` 追加到授权的key中,键入以下命令: ```bash cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys ``` 然后输入 `ssh localhost` 进行验证,若出现相应信息代表配置本机免密登录成功 [^3]。 ### 3. 复制公钥到其他虚拟机 在三台虚拟机上分别按照上述步骤执行,然后在三台虚拟机的 `/root/.ssh/` 目录下创建 `authorized_keys` 文件,将三台虚拟机上的SSH产生的公钥均放进去。也可以使用以下命令复制公钥到其他虚拟机,例如从一台虚拟机复制到另一台: ```bash scp authorized_keys root@目标虚拟机IP:~/root/.ssh/ ``` 可以去对应的虚拟机查看是否复制过来 [^1][^4]。 ### 4. 查看和验证 在master虚拟机中查看 `authorized_keys` 文件: ```bash cat ~/.ssh/authorized_keys ``` 同时,在三台虚拟机中运行 `ssh-copy-id master` [^2]。 ### 5. 修改文件夹和文件权限 将三台机器的 `~/.ssh/` 文件夹权限改为700,`authorized_keys` 权限改为600: ```bash chmod 700 ~/.ssh/ chmod 600 ~/.ssh/authorized_keys ``` 通过以上步骤,就可以在CentOS 7系统的三台虚拟机之间实现SSH免密登录 [^4]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值