博主

3天前在线

𝙼𝚛.𝙶𝚞
明月松间照,清泉石上流。 (唐·王维·山居秋暝)
博主 𝙼𝚛.𝙶𝚞
博主 3天前 在线自豪地使用 Typecho 建站搭配使用 🌻Sunny 主题当前在线 9 人

网站已运行 10 天 1 小时 29 分

Powered by Typecho & Sunny

9 online · 65 ms

Title

Linux SSH密钥登录配置

guboysky

·

Article

安全配置 SSH 密钥登录,修改默认端口,关闭密码登录,提升服务器安全性

生成 SSH 密钥

1、 打开 PowerShell,以管理员身份打开 Windows PowerShell:

2、 使用以下命令生成 SSH 密钥对:

♾️ text 代码:
ssh-keygen -t ed25519 -C "your_email@example.com"

如果 VPS 较老不支持 ed25519,使用 RSA 算法:

♾️ text 代码:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

3、 设置保存路径

♾️ text 代码:
Enter file in which to save the key (/c/Users/你的用户名/.ssh/id_ed25519):

直接按回车使用默认路径:C:\Users\你的用户名\.ssh\

4、 设置密钥的密码(可选,可直接留空):

设置密码会增加安全性,但每次使用密钥时都需要输入密码。如果追求便利性,可以留空。

5、 密钥生成完成后,会在指定目录创建两个文件:

  • 私钥文件 : id_ed25519
  • 公钥文件 : id_ed25519.pub

需要公钥文件上传到 VPS 服务器


一键配置脚本

在 VPS 上执行以下完整配置脚本:

♾️ text 代码:
SSH_PORT=25701
mkdir -p ~/.ssh
chmod 700 ~/.ssh
cat > ~/.ssh/authorized_keys <<'EOF'
你的 id_ed25519.pub 公钥内容粘贴在这里
EOF

chmod 600 ~/.ssh/authorized_keys
SSHD_CONFIG="/etc/ssh/sshd_config"
cp $SSHD_CONFIG ${SSHD_CONFIG}.bak.$(date +%F-%H%M%S)

sed -i "s/^#\?Port .*/Port ${SSH_PORT}/" $SSHD_CONFIG
sed -i "s/^#\?PasswordAuthentication .*/PasswordAuthentication no/" $SSHD_CONFIG
sed -i "s/^#\?PermitRootLogin .*/PermitRootLogin prohibit-password/" $SSHD_CONFIG
sed -i "s/^#\?PubkeyAuthentication .*/PubkeyAuthentication yes/" $SSHD_CONFIG

grep -q "^Port ${SSH_PORT}" $SSHD_CONFIG || echo "Port ${SSH_PORT}" >> $SSHD_CONFIG

if command -v ufw >/dev/null 2>&1; then
  ufw allow ${SSH_PORT}/tcp
  ufw reload
elif command -v firewall-cmd >/dev/null 2>&1; then
  firewall-cmd --permanent --add-port=${SSH_PORT}/tcp
  firewall-cmd --reload
fi
systemctl restart ssh || systemctl restart sshd

重要提示::

在执行脚本前,请务必将 你的 id_ed25519.pub 公钥内容粘贴在这里 替换为您的实际公钥内容。

配置完成后,使用以下命令测试连接:

♾️ text 代码:
ssh -p 25701 root@你的VPS_IP

其它:

简化连接配置,为了更方便地连接,可以在本地创建 SSH 配置文件:

♾️ text 代码:
nano ~/.ssh/config

添加以下内容:

♾️ text 代码:
Host myserver
    HostName 你的VPS_IP
    Port 25701
    User root
    IdentityFile ~/.ssh/id_ed25519

配置完成后,可以使用简化的命令连接:

♾️ text 代码:
ssh myserver
现在已有 31 次阅读,0 条评论,0 人点赞
Author:guboysky
作者
Linux SSH密钥登录配置
当前文章累计共 1937 字,阅读大概需要 1 分钟。
2025年12月7日 · 0评论
数据库关键字定时替换配置
2025年12月6日 · 0评论
Linux SSH密钥登录配置
2025年12月6日 · 0评论
Comment:共0条
发表
搜索 消息 足迹
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主
未知作品 歌曲封面
博主 立即安装
前往评论 切换字号