服务器配置用户ssh密钥登录

本文详细介绍通过两种方式实现SSH免密登录的配置过程:一是直接在服务器上配置,包括设置用户目录、生成密钥对及调整权限等;二是利用Xshell生成密钥对并导入服务器。

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

自己尝试的两种方式配置:

一、服务器命令配置

1.配置好用户目录(假如是test用户)

mkdir /home/test/.ssh  

touch /home/test/.ssh/authorized_keys 

2.生成密钥对

ssh-keygen -t rsa -C "test"

执行后出现命令提示:

Enter file in which to save the key (/root/.ssh/id_rsa):
#输入key的保存位置,直接回车即可(保存的id_rsa为将来登录的密钥)。
Enter passphrase (empty for no passphrase):

#私钥口令,不需要的话直接回车。(口令密码,会加密私钥)

3.添加公钥到 authorized_keys 文件

cat /root/.ssh/id_rsa.pub > /home/test/.ssh/authorized_keys

4.目录权限更改

chmod 700 /home/test/.ssh

chmod 600 /home/test/.ssh/authorized_keys

将.ssh目录改为test用户和testusers组:

在/home/test/.ssh目录执行:chown -R test:testusers ./

5.重启ssh服务

service sshd restart

二、自己生成密钥对导入服务器

如利用xshell生成密钥对:

1.按照(一)的步骤建好文件

2.点击xshell里面的工具-新建用户密钥生成向导,选择密钥类型RSA,长度一般2048,下一步完成

3.将生成的公钥导入到服务器用户的authorized_keys里面

4.重启ssh服务

以下为视图:





### 配置 SSH 密钥实现免密登录 Linux 服务器 #### 1. 客户端生成 SSH 密钥对 在本地客户端机器上,通过 `ssh-keygen` 命令生成一对公私钥文件。默认情况下,该命令会创建 RSA 或 ED25519 类型的密钥对,并将其存储在用户的 `.ssh/` 目录下。 运行以下命令来生成密钥对: ```bash ssh-keygen -t ed25519 -C "your_email@example.com" ``` 此命令中的 `-t` 参数指定了密钥类型(推荐使用现代算法 ED25519),而 `-C` 参数用于附加注释以便识别密钥归属[^1]。 #### 2. 将公钥复制到目标服务器 为了使目标服务器能够验证来自客户端的身份请求,需将生成的公钥上传至服务器上的授权密钥列表中。可以手动完成这一过程或将工具简化操作: 利用 `ssh-copy-id` 工具自动部署公钥到远程主机: ```bash ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip_address ``` 上述命令假设已存在名为 `id_ed25519.pub` 的公钥文件;如果采用的是其他类型的密钥,则应调整路径指向相应的`.pub` 文件[^2]。 #### 3. 修改服务器配置以启用密钥认证并禁用密码认证 (可选) 编辑 `/etc/ssh/sshd_config` 文件,确认如下设置项已被正确开启或关闭: - **PubkeyAuthentication yes**: 启用基于公钥的身份验证; - **PasswordAuthentication no**: 关闭传统密码身份验证模式(提高安全性); - **ChallengeResponseAuthentication no**: 禁止挑战响应式验证方法。 保存更改后重启 sshd 服务生效新参数: ```bash sudo systemctl restart sshd ``` 至此完成了整个流程——从生成密钥对直至应用它们于实际连接场景之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值