UBUNTU/DEBIAN 配置使用SSH密钥进行登录

简介

本文介绍了 如何配置 UBUNTU/DEBIAN 使用SSH密钥进行登录

客户端

生成密钥

ssh-keygen -t ed25519 -C "你的注释,比如 mac-2026"

默认写入 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)。

强烈建议设置 passphrase:这是私钥文件被盗后的最后一道防线。 如果当初没设 passphrase,可以事后补上:

ssh-keygen -p -f ~/.ssh/id_ed25519

公钥分发到服务器

ssh-copy-id方案

ssh-copy-id user@server
# 指定具体公钥:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

成功后会显示 Number of key(s) added: 1,表示公钥已追加到你当前登录的那个用户authorized_keys

手动方案

把本地 ~/.ssh/id_ed25519.pub整行内容贴到服务器:

# 在服务器上,以目标用户身份执行:
mkdir -p ~/.ssh
echo "ssh-ed25519 AAAA....your-pubkey.... 注释" >> ~/.ssh/authorized_keys

注意事项

sshd 出于安全考虑,权限过于开放时会拒绝读取 authorized_keys,且默认不会明说原因。务必保证:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chmod 750 ~          # 家目录不能对组/其他用户可写

服务端

检查服务器是否允许公钥认证

sshd -T | grep -iE 'pubkey|permitroot|password|authorizedkeysfile'

理想结果应包含:

pubkeyauthentication yes

如果看到的是 pubkeyauthentication no,就是不允许公钥登录。

部分 VPS 出厂镜像会默认关掉公钥、只留密码登录。我们需要修改下配置,我这里给了一个一句话脚本,方便大家使用。

cp /etc/ssh/sshd_config{,.bak} && sed -i -E 's/^\s*#?\s*PubkeyAuthentication.*/PubkeyAuthentication yes/I' /etc/ssh/sshd_config && grep -qi '^PubkeyAuthentication' /etc/ssh/sshd_config || echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config; sshd -t && (systemctl reload ssh 2>/dev/null || systemctl reload sshd) && sshd -T | grep -i pubkeyauthentication

验证登录

使用命令,来诊断登录

ssh -v user@server

如果没错误,以后就可以

ssh user@server 

来进行登录了

如果有需要,可以关闭ssh的密码登陆,方案如下。(关闭密码登陆之前请确认密钥登录没有问题哦)

cp /etc/ssh/sshd_config{,.bak} && sed -i -E 's/^\s*#?\s*PasswordAuthentication.*/PasswordAuthentication no/I' /etc/ssh/sshd_config && grep -qi '^PasswordAuthentication' /etc/ssh/sshd_config || echo "PasswordAuthentication no" >> /etc/ssh/sshd_config; sshd -t && (systemctl reload ssh 2>/dev/null || systemctl reload sshd) && sshd -T | grep -i passwordauthentication

--------------

本文标题为:

UBUNTU/DEBIAN 配置使用SSH密钥进行登录

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇