centos7:ssh免密登陆设置

1、使用root用户登录,进入到目录/root/.ssh

2、执行命令:ssh-keygen -t rsa

一路回车,完成后会在目录/root/.ssh下面生成文件 id_rsa和id_rsa.pub

3、将公钥写入文件authorized_keys:cat id_rsa.pub >> authorized_keys

4、重复1、2、3,直到要免密登录的所有机器都生成了id_rsa和id_rsa.pub文件和authorized_keys

5、将其他机器的公钥拷贝到第一台机器authorized_keys文件中:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip

6、将第一台机器的authorized_keys复制到其他机器

scp /root/.ssh/authorized_keys ip:/root/.ssh/

提示报错:Permission denied, please try again.

可能原因:

1、目录或文件没有写权限(默认不会),解决:chmod 700 .ssh chmod 644 authorized_keys

2、ssh服务需要修改下配置,解决:

修改目标服务器的/etc/ssh/sshd_config中的PermitRootLogin 为 yes ,然后重启ssh(systemctl restart sshd.service)

 

7、验证(第一次需密码)

ssh ip

 

注:上述实现了root用户之间的免密操作,如果要实现其他用户,则使用其他用户登录,进行上述操作,生成的密钥文件会在用户目录下的.ssh下。

如果已经实现了一个用户免密,要实现其他用户免密,可以将实现免密的用户下的.ssh目录下的文件拷贝到其他用户下即可。

posted @   Alice口袋有糖  阅读(4581)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示