Linux的ssh端口和密钥登录以及禁用密码登录

发表于2024年11月21日 23:42:21 • 阅读50

Linux的ssh端口和密钥登录以及禁用密码登录


本文阅读大约需要1分钟。

前言

又入手了一台云服务器,手上已经五台小鸡了。

有时候会忘记改小鸡端口和登录方式,就导致很多人在默认的22端口不停爆破。

虽然都是强密码,但是架不住有时候1C1G的小鸡被占着资源爆破。

所以为了方便以后修改,就写篇教程记录

感觉有点玩鸡丧志了都…

生成密钥

# 生成密钥
ssh-keygen

# 出现以下提示时 如果没有特殊要求 一路回车即可
# Generating public/private rsa key pair.
# Enter file in which to save the key (/root/.ssh/id_rsa):(回车)
# Enter passphrase (empty for no passphrase):(回车)
# Enter same passphrase again:(回车)

# 运行结束以后, 默认在 ~/.ssh目录生成两个文件:
# id_rsa :私钥
# id_rsa.pub :公钥

# 切换到文件所在目录:
cd ~/.ssh/

# 将公钥写入authorized_keys文件,执行命令:
cat id_rsa.pub >> authorized_keys

# 如果是在其他端生成,则将公钥传上来改名为authorized_keys即可,如果是在目标小鸡上则需要建议手动下载备份到本地之后,删除公钥和私钥

# 还有就是权限问题 记得检查权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

自定义ssh端口

建议选择端口范围,避免冲突
1024-32767
32768-60999
49152-65535

# 修改ssh配置文件
vim /etc/ssh/sshd_config
# 找到Port 如果没有打开 则打开注释  修改Port之后的数字端口为自定义端口即可 否则直接修改即可
# Port 22
# 注意 记得提前安全组开放端口

登录方式修改

# 修改ssh配置文件
vim /etc/ssh/sshd_config
# 禁用密码验证 修改或者打开注释
PasswordAuthentication no
# 启用密钥验证 修改或者打开注释
PubkeyAuthentication yes
# 允许root用户远程登录 如果没有设置的话 修改或者打开注释
PermitRootLogin yes

重启ssh

#centos系统
service sshd restart
#ubuntu系统
service ssh restart 
#debian系统
/etc/init.d/ssh restart

# 注:如果出现提示:Redirecting to /bin/systemctl restart sshd.service
# 执行命令,重启sshd服务:
systemctl start sshd.service

防止爆破

安装fail2ban,自动封禁多次尝试失败的 IP

sudo apt install fail2ban  # Debian/Ubuntu
sudo yum install fail2ban  # CentOS/RHEL

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
sudo systemctl staus fail2ban

如果没有正常运行,需要排查配置
默认监控的日志文件是 /var/log/auth.log(Ubuntu/Debian)或 /var/log/secure(CentOS/RHEL)
如果没有找到或者路径不同需要进行配置

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 然后再.local配置中修改

所属分类: 运维

文章标签: #linux #ssh

文章标题:Linux的ssh端口和密钥登录以及禁用密码登录

文章作者:大古

文章链接:https://blog.988898.xyz/archives/linux-ssh-port-and-key-login-and-disable-password-login.html

版权声明:本站原创内容均采用《署名 - 非商业性使用 - 相同方式共享 4.0 国际》进行许可,转载请注明出处。

温馨提示:请注意文章发表时间,某些文章所述内容可能具有时效性,文章描述可能已经失效。

添加新评论
暂未有人评论
快来抢沙发