CentOS服务器配置SSH免密连接

本文详细介绍如何通过生成SSH密钥对实现客户端到服务器的免密登录,包括客户端密钥生成、服务器端.ssh目录创建及授权密钥配置等步骤,并解决连接时仍需输入密码的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

客户端使用ssh连接服务器

使用命令

ssh user@hostname

这时提示输入密码,每次连接服务器都要输入密码会很麻烦,现在我们来配置免密连接吧!

 

1、客户端生成SSH密钥

使用命令

ssh-keygen -t rsa

生成密钥对 id_rsa(私钥) 和 id_rsa.pub(公钥),默认存储在 ~/.ssh 目录下。

生成的时候要求输入密码,应回车直接跳过,否则登录的时候又要输入密码,违背了免密的初衷。

 

2、服务器端创建 .ssh 目录

登录服务器,到用户目录下创建 .ssh 文件夹

mkdir ~/.ssh

如果是root用户,在 /root 目录下。

如果是negro用户,在 /home/negro 目录下。

 

3、复制公钥

将客户端中的 id_rsa.pub 复制到服务器

scp ~/.ssh/id_rsa.pub negro@hostname:/home/negro/.ssh/id_rsa.pub

在服务器中,将 id_rsa.pub 中的内容粘贴到 .ssh/authorized_keys 文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

粘贴成功后,就可以删除 id_rsa.pub

rm id_rsa.pub 

还有非常重要的一步,设置 authorized_keys 文件的权限为 600,设置 .ssh 文件夹的权限为 700

chmod 600 ~/.ssh/authorized_keys

chmod 700 ~/.ssh/

 

4、连接服务器

设置成功,用客户端连接一下试试吧

ssh user@hostname

 

 

还需要输入密码?

1、请检查服务器 sshd_config 文件配置

sudo vi /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

 看以上三个配置是否被注释,去掉“#”号后,保存,重启服务

sudo service sshd restart

 

转载于:https://www.cnblogs.com/negro-guoguo/p/7218687.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值