安全配置说明
为了增强安全性,Linux 系统建议使用 SSH 密钥 进行登录,SSH 默认端口为 22,默认用户名为 root
MacOS和 Windows11 默认自带有 openssh-client,可以直接 ssh 命令登录
Windows系统如果没有 ssh 命令可以下载 putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
使用 SSH 密钥登录
在线生成 SSH 密钥
可以使用开源项目 https://ssh-keygen.nwtgck.org/ 在线生成 SSH 密钥。
使用 OpenSSH 生成 SSH 密钥
可以在 Linux 或 macOS 系统上通过终端生成 SSH 密钥对。根据需要选择不同的加密算法。
生成 RSA 密钥:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
生成 ECDSA 密钥:
ssh-keygen -t ecdsa -b 256 -f ~/.ssh/id_ecdsa
生成 ED25519 密钥:
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519
可选参数 -C "邮箱格式的地址" 用于为密钥添加注释(通常使用电子邮件地址)。
密钥生成步骤:
运行上述命令时,系统会提示输入 私钥密码(可选)。若不输入密码,私钥将没有加密,直接保存在文件中。
默认情况下,私钥会存储在 ~/.ssh/id_rsa,而公钥则存储在 ~/.ssh/id_rsa.pub(对应其他密钥类型也是类似)。
公钥文件存储
生成 SSH 密钥对后,需要将公钥(.pub 文件)的内容复制到服务器上的 authorized_keys 文件中,以便进行 SSH 登录。
公钥存储路径:
对于一般用户:~/.ssh/authorized_keys
对于 root 用户:/root/.ssh/authorized_keys
本地机器保存 SSH 私钥
在本地生成的 SSH 私钥文件通常存储在 ~/.ssh/id_rsa,文件权限默认为 400。请妥善保管这个文件,不要泄露。
在服务器上添加公钥
快速写入公钥到 authorized_keys
如果您已经有公钥文件,可以使用如下命令将公钥添加到服务器的 authorized_keys 文件中。
首先,使用 cat 命令将公钥写入 authorized_keys 文件:
cat >> /root/.ssh/authorized_keys <<EOF
# 替换为您的公钥内容
EOF
如果您已经在本地有公钥内容,可以将 .pub 文件内容复制到 authorized_keys。
设置文件权限
确保 authorized_keys 文件权限为 600,并且 .ssh 文件夹权限为 700,这可以通过如下命令实现:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
SSH 登录方式
从本地电脑使用 SSH 登录到远程服务器
使用命令行工具(如 CMD 或终端)运行以下命令登录:
ssh username@server_ip -p 22
其中:
username:为您的默认用户名(如 rocky, centos 等)。
server_ip:为远程服务器的 IP 地址。
-p 22:指定 SSH 端口,默认是 22。
如果 SSH 密钥没有设置密码保护,系统会直接使用私钥进行认证。如果设置了密码保护,系统会要求您输入私钥的密码。
Windows CMD 使用方法
在 Windows 11 系统中,OpenSSH 客户端已经内置,可以直接使用 ssh 命令进行登录。
打开 CMD,然后运行:
ssh username@server_ip -p 22
如果您需要存储 SSH 私钥,请使用如下命令:
notepad ~/.ssh/id_rsa
然后将私钥内容粘贴进去并保存。
生成密钥后的注意事项
私钥:需要妥善保管,不能泄露。如果泄露他人可能会获得服务器的访问权限。
公钥:可以公开,通常存储在服务器的 ~/.ssh/authorized_keys 文件中。
使用 SSH 密钥时,要确保您已经正确地将公钥添加到目标机器的 authorized_keys 文件中。
总结
默认情况下,Linux 系统安装后不启用 root 密码登录,需使用 SSH 密钥进行认证。
不同的 Linux 发行版有不同的默认用户名。
使用 ssh-keygen 命令生成 RSA、ECDSA 或 ED25519 密钥对。
配置公钥到服务器后即可通过 SSH 登录。
注意:务必保持私钥的安全,并定期更新和备份密钥对。