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
相关推荐
CoderYanger2 天前
贪心算法:7.最长连续递增序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:6.递增的三元子序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:1.柠檬水找零
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:4.摆动序列
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:2.将数组和减半的最少操作次数
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:8.买卖股票的最佳时机
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:3.最大数
java·算法·leetcode·贪心算法·1024程序员节
CoderYanger2 天前
贪心算法:5.最长递增子序列
java·算法·leetcode·贪心算法·1024程序员节
liguojun20253 天前
智慧破局:重构体育场馆的运营与体验新生态
java·大数据·人工智能·物联网·重构·1024程序员节
Yupureki4 天前
《算法竞赛从入门到国奖》算法基础:入门篇-前缀和
c语言·数据结构·c++·算法·1024程序员节