新服务器安全第一步:修改密码与设置SSH密钥登录教程

新服务器安全第一步:修改密码与设置SSH密钥登录教程

刚拿到手的热乎服务器,是不是已经摩拳擦掌准备大干一场了?先冷静一下! 就像你拿到新家钥匙,第一件事是赶紧换个靠谱的锁芯一样,新服务器到手,首要任务,也是最重要的任务,就是加固你的登录“大门”。

很多服务商给的初始密码可能是弱密码,或者干脆就是你设置的一个可能不够强的密码。如果这个密码被猜到或暴力破解,那你的服务器就成了别人的“肉鸡”,后果不堪设想。所以,别偷懒,跟我一起动手,给你的服务器上把“金刚锁”!

第一道防线:跟默认/初始密码说拜拜!

不管服务商给你的是默认密码,还是你自己设置的初始密码,或者是通过cloud-init首次登录后需要改的密码,立刻修改掉它!

1 登录你的服务器: 通常使用SSH客户端(如PuTTY, Terminal, Xshell等)通过服务商提供的IP地址和初始密码登录。假设用户名是root(有些服务商可能是ubuntu, admin等,请根据实际情况调整):

Bash

ssh root@<你的服务器IP地址>

然后输入你的初始密码。

2修改密码: 登录成功后,立刻使用 passwd 命令修改当前用户的密码。

如果你是以普通用户(比如ubuntu)登录,且该用户有sudo权限,你可以修改自己的密码:

Bash

passwd

或者修改root用户的密码(如果允许root登录的话,但不推荐直接用root):

Bash

sudo passwd root

如果你是以root用户登录的,直接输入: Bashpasswd

系统会提示你输入当前密码(如果是第一次修改可能不需要),然后输入新密码,再确认新密码。

3设置强密码:

敲黑板! 你的新密码一定要强!多强?

长度足够: 至少12位以上。

复杂度: 包含大写字母、小写字母、数字、特殊符号(如!@#$%^&*)。

无规律: 不要用生日、姓名拼音、电话号码、”password123″、”adminadmin”这种“裸奔”密码!

唯一性: 不要和其他账号使用相同的密码。

可以借助密码生成器创建一个随机强密码,然后用密码管理器(如KeePass, Bitwarden)保存好。

修改完密码,至少你的第一道门槛加高了。但这还不够,我们还有更安全的玩法。

升级防护:配置SSH密钥登录(强烈推荐!)

密码总有被猜到或暴力破解的风险,而SSH密钥对提供了一种更安全、更便捷的登录方式。

为啥用密钥? 简单说,它用一对密钥(一个私钥,一个公钥)来验证身份。私钥由你绝对保管在本地电脑上,公钥放在服务器上。登录时,服务器用公钥验证你是否持有对应的私钥,验证通过才允许登录。这个过程不传输密码,私钥本身极长且复杂,几乎不可能被暴力破解。

原理小课堂: 你用本地电脑上的私钥对一个服务器发来的“挑战”信息进行签名,服务器收到后用预存的公钥来验证这个签名是否正确。正确就放行!

配置步骤:

Step 1: 在你的本地电脑生成密钥对

打开你本地电脑的终端(Linux/macOS Terminal, Windows上的Git Bash或WSL)。执行以下命令:

Bash

ssh-keygen -t rsa -b 4096

-t rsa: 指定密钥类型为RSA(常用且兼容性好)。也可以用更现代的 -t ed25519。

-b 4096: 指定密钥长度为4096位(RSA类型下,推荐长度,非常安全)。

过程中会提示:

保存位置: Enter file in which to save the key (/home/your_local_user/.ssh/id_rsa): 直接按Enter使用默认路径即可(通常是用户主目录下的.ssh文件夹里的id_rsa和id_rsa.pub)。

输入密码短语 (Passphrase): Enter passphrase (empty for no passphrase): 强烈建议设置一个密码短语! 这相当于给你的私钥文件加了个密码。即使私钥文件泄露,没有这个短语也无法使用。输入两次以确认。当然,如果你追求极致便利且确保私钥文件绝对安全,可以留空(不推荐)。

成功后,你会在 ~/.ssh/ 目录下看到两个文件:id_rsa(私钥,绝不能泄露!)和 id_rsa.pub(公钥,可以安全地分享和上传)。

Step 2: 把公钥上传到服务器

需要将本地 id_rsa.pub 文件里的内容添加到服务器上你希望登录的用户的 ~/.ssh/authorized_keys 文件中。

方法一:使用 ssh-copy-id (最简单,推荐!) 如果你的本地电脑支持 ssh-copy-id 命令,并且服务器当前还允许密码登录,这是最方便的方法:

Bash

ssh-copy-id <服务器用户名>@<你的服务器IP地址>

# 例如: ssh-copy-id root@123.45.67.89

# 如果你生成密钥时指定了其他文件名,用 -i 参数指定公钥路径:

# ssh-copy-id -i ~/.ssh/my_custom_key.pub user@server_ip

输入该用户的密码后,命令会自动帮你完成公钥上传和权限设置。

方法二:手动复制粘贴 (如果无法使用 ssh-copy-id 或已禁用密码登录)

1.在本地电脑上显示并复制公钥内容:

Bash

cat ~/.ssh/id_rsa.pub

选中并完整复制输出的所有内容(通常以 ssh-rsa 或 ssh-ed25519 开头,以你的邮箱或用户名结尾)。

2.登录服务器 (使用你刚改好的密码)。

3.在服务器上操作:

Bash

# 确保 .ssh 目录存在且权限正确

mkdir -p ~/.ssh

chmod 700 ~/.ssh

# 将你复制的公钥内容粘贴到 authorized_keys 文件末尾

# 如果文件不存在,这条命令会自动创建

echo "粘贴你复制的公钥内容到这里" >> ~/.ssh/authorized_keys

# 确保 authorized_keys 文件权限正确

chmod 600 ~/.ssh/authorized_keys

# (可选,如果你的系统启用了SELinux且遇到问题)恢复SELinux安全上下文

# restorecon -Rv ~/.ssh

注意: 权限设置 (chmod 700 for .ssh, chmod 600 for authorized_keys) 至关重要!权限不对会导致密钥登录失败。

Step 3: 测试密钥登录

现在,从你的本地电脑再次尝试SSH登录:

Bash

ssh <服务器用户名>@<你的服务器IP地址>

如果你的私钥设置了密码短语 (Passphrase),系统会提示你输入密码短语。

如果私钥没有密码短语,或者输入正确短语后,你应该能直接登录成功,不再需要输入服务器密码。

如果仍然提示输入服务器密码,说明配置有误。请仔细检查服务器上 ~/.ssh/authorized_keys 文件的内容是否正确(公钥有没有复制全?有没有多余的换行?)、文件和目录权限是否是 600 和 700。

终极加固:禁用密码登录 (可选但强烈推荐!)

警告: 在执行此步骤前,务必反复确认你的SSH密钥登录完全正常可用! 否则一旦禁用密码登录,你可能就再也登不上服务器了(除非通过服务商的VNC/控制台救援)。

确认无误后,进行以下操作:

1.编辑SSH服务配置文件:

Bash

sudo nano /etc/ssh/sshd_config

2.找到并修改以下行的配置:

(可选)确保 PubkeyAuthentication yes 是启用的(通常默认是)。

将 #PasswordAuthentication yes 或 PasswordAuthentication yes 修改为 PasswordAuthentication no (确保前面的 # 去掉)。

(可选但推荐)将 #ChallengeResponseAuthentication yes 或 ChallengeResponseAuthentication yes 修改为 ChallengeResponseAuthentication no。

3.保存并退出编辑器。

4.检查配置文件语法是否正确:

Bash

sudo sshd -t

如果没有报错,说明配置没问题。

5.重启SSH服务使配置生效:

Bash

sudo systemctl restart sshd

# 或者 sudo systemctl restart ssh (取决于系统)

现在,尝试用密码方式SSH登录你的服务器,应该会被拒绝。只有通过你设置好的SSH密钥才能登录了。这极大地提高了服务器的安全性,让那些企图用弱密码或暴力破解方式入侵的黑客无功而返。

好了!至此,你已经完成了新服务器最基础也是最关键的两项安全设置:修改初始密码和配置SSH密钥登录。这相当于给你的服务器装上了一把高强度防盗门锁。虽然服务器安全是一个持续性的工作,但这绝对是一个坚实的开始。

🎯 相关推荐

急救包零售批发店
365bet皇冠体

急救包零售批发店

📅 08-06 👀 8494
分享STM32 ADC的理解
bet5365入口

分享STM32 ADC的理解

📅 07-28 👀 3236
女生长腿毛的原因和解决方法
365bet官方网站下载

女生长腿毛的原因和解决方法

📅 07-05 👀 1491