Linux 系统初始化与 SSH 登录指南

  • 星期六, 21日 十二月, 2024
  • 15:46下午

安全配置说明

为了增强安全性,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 登录。

 

注意:务必保持私钥的安全,并定期更新和备份密钥对。

 

« 返回