Ubuntu SSH改端口+密钥登录一条龙教程:macOS亲测,22端口滚蛋,暴力破解吃灰去吧!

Ubuntu SSH改端口+密钥登录一条龙教程:macOS亲测,22端口滚蛋,暴力破解吃灰去吧!

本来我懒得干这事的,端口不是22,密码还是随机的。但架不住老是被扫描,服务器太烂伤不起,干脆上证书登陆吧。

 

还用root+123456当密码?隔壁脚本小子都笑出了猪叫。今天这篇Ubuntu SSH端口修改+密钥登录教程,手把手教你把大门换成暗号12345,再把钥匙做成“必须指纹+密码”才能开的瑞士银行级保险柜。全程macOS实测,踩坑记录全写,照着抄就能活。

一、为啥要折腾?给你三个无法反驳的理由

  1. 暴力扫描90%发生在22端口,改端口=直接把99%的脚本拒之门外。
  2. 密钥+passphrase双因子,比单纯密码高到不知道哪里去了。
  3. 关闭密码登录后,就算天王老子拿到账号也敲不开大门。

二、服务器端:先把22端口踹了,换上12345

先ssh root@你的IP登进去,别急着关终端,留一条后路。

# 备份原配置,手残党福音
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

# 编辑配置
sudo nano /etc/ssh/sshd_config

找到#Port 22,改成:

Port 12345

顺手把下面三行改成这样(先别关PasswordAuthentication,等会儿钥匙测试通过再阉割):

PubkeyAuthentication yes
PasswordAuthentication yes
PermitRootLogin prohibit-password

保存退出,重启ssh:

sudo systemctl restart ssh

防火墙放行12345:

sudo ufw allow 12345/tcp

此时别关终端!新开一个窗口测试12345能不能连,万一翻车还能用老窗口救场。

三、macOS本地:生成“带密码的钥匙”

Finder里那个“文稿”就是终端的Documents,别再写/文档/网站/证书,系统会把你当成外星人。

# 1. 建文件夹,-p防止重复报错
mkdir -p "$HOME/Documents/网站/证书"

# 2. 生成4096位RSA,passphrase统一1122334455
ssh-keygen -t rsa -b 4096 -f "$HOME/Documents/网站/证书/ubuntu_server_key"

提示Enter passphrase时连打两次1122334455,别嫌长,暴力破解哭给你看。

四、把公钥扔上服务器:ssh-copy-id一把梭

ssh-copy-id -i "$HOME/Documents/网站/证书/ubuntu_server_key.pub" -p 12345 username@你的服务器IP

第一次会让你输服务器账号密码,输完看到Number of key(s) added: 1就稳了。

五、验证:钥匙能开门再锁死密码

ssh -i "$HOME/Documents/网站/证书/ubuntu_server_key" -p 12345 username@你的服务器IP

弹出Enter passphrase for key时敲1122334455,能进去继续,进不去回头检查路径别哭。

六、终极锁门:关闭一切密码登录

确认新终端也能密钥登录后,回到老窗口,彻底阉割密码:

sudo nano /etc/ssh/sshd_config

把下面三行改成:

PasswordAuthentication no
PermitRootLogin prohibit-password
ChallengeResponseAuthentication no

检查语法别手滑:

sudo sshd -t

没报错再重启:

sudo systemctl restart ssh

此时密码登录已死,只有手握私钥+知道1122334455的人才能进门。

七、懒人福利:写进~/.ssh/config,以后一句ssh mysv

cat >> ~/.ssh/config <<'EOF'
Host mysv
    HostName 你的服务器IP
    Port 12345
    User username
    IdentityFile ~/Documents/网站/证书/ubuntu_server_key
EOF

以后直接:

ssh mysv

输入1122334455,完事。

八、常见翻车现场&吐槽

  • “Saving key failed: No such file”——路径写成/文档/网站/证书,系统以为你要在根目录建文件夹,当然不存在。
  • ssh: connect to host port 22: Connection refused——端口改了还用22,系统把你当陌生人。
  • Permission denied (publickey)——.ssh或authorized_keys权限不对,服务器端执行:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

九、备份与良心提醒

把ubuntu_server_key存进加密U盘/密码管理器,丢了就算root也救不了。改配置前永远留一条已登录的终端,别把自己锁门外。

教程结束,去喝杯奶茶庆祝暴力破解失业吧。


© 万事屋原创 | 转载请保留出处:https://www.rei3.com

请登录后发表评论

    没有回复内容

万事屋新帖