Linux服务器设置免密登录

Linux服务器设置免密登录

1. 在服务器上生成"密钥对"

shell 复制代码
# 以RSA算法生成密钥对,然后一路回车就行了(如果你没啥讲究的话)
ssh-keygen -t rsa

加密方式

加密算法类型 安全性特点 典型密钥长度 兼容性
Ed25519 高安全性,性能最佳,抗侧信道攻击 256 较新的系统和SSH实现
ECDSA 安全性高,密钥短,效率高 256 主流现代系统
RSA(最常用) 经典可靠,应用广泛 至少 2048位(推荐3072或 4096) 最佳,几乎所有系统都支持
DSA 已不安全,密钥过短 1024

读者可以选择前三个任意一个,我觉得选用RSA最为稳妥

在用户家目录下会生成两个文件id_rsa、id_rsa.pub,这里的id_rsa是私钥,千万不能分发给任何设备。id_rsa.pub是公钥,可以分发给受信任的设备

2. 主机设置

2.1 Windows

用Windows的CMD执行以下命令(快捷键win+R,输入CMD)

shell 复制代码
# 拷贝远程服务器上的公钥文件到本地,格式为 scp [登录用户名]@[服务器IP]:[公钥所存放的绝对路径] [本地路径]
scp pi@192.168.10.23:/home/pi/.ssh/id_rsa.pub ~/.ssh
# 拷贝到本地后,你可以在本地用户下的.ssh文件夹下找到id_rsa.pub文件,然后在.ssh文件夹下创建一个名为config的文件,文件内容如下
Host custom_server_name # 一个易于记忆的别名
 HostName server_ip  # 服务器的实际 IP 地址或域名
 User username       # 用于登录服务器的用户名
 IdentityFile ~/.ssh/id_rsa  # 指定私钥文件在 Windows 上的路径

保存文件!重新打开CMD,不出意外的话就可以顺利免密登录服务器了

2.2 Linux 或 Mac

用终端执行以下命令

shell 复制代码
# 拷贝远程服务器上的公钥文件到本地,格式为 scp [登录用户名]@[服务器IP]:[公钥所存放的绝对路径] [本地路径]
scp pi@192.168.10.23:/home/pi/.ssh/id_rsa.pub ~/.ssh
# 创建authorized_keys文件,并把id_rsa.pub中内容追加进去
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 修改权限
chmod 600 ~/.ssh/authorized_keys
# 修改sshd_config配置文件
vim /etc/ssh/sshd_config
# 修改内容如下
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 保存退出后,重启ssh服务
systemctl restart sshd

3.测试

使用CMD或终端连接远程服务器,如果不需要输入密码,则成功了

shell 复制代码
ssh pi@192.168.10.23
相关推荐
拔剑纵狂歌4 天前
ClickHouse system.query_log 字段详解与排障实践
后端·clickhouse·1024程序员节
比奥利奥还傲.16 天前
哪吒监控面板实战:部署 Dashboard、接入 Agent、钉钉告警,再配置固定公网访问
网络·人工智能·分布式·1024程序员节
默 语18 天前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
学传打活1 个月前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活1 个月前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng1682 个月前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心2 个月前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055272 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055272 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝2 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节