1.生成 SSH 密钥对

首先,为你的用户生成一个SSH密钥对。

如果你已经有了密钥对,可以跳过这一步。

在你的本地机器上,打开终端并运行以下命令:

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2.添加公钥到远程服务器

将生成的公钥添加到远程服务器的authorized_keys文件中。

2.1.远程复制公钥

使用ssh-copy-id命令可以方便地将公钥复制到远程服务器:

1
ssh-copy-id user@remote_host

其中,user是远程服务器上的用户名,remote_host是远程服务器的 IP 地址或域名。

2.2.手动复制公钥

你也可以手动复制公钥。

首先,显示公钥的内容:

1
cat ~/.ssh/id_rsa.pub

然后在远程服务器上登录并将其添加到~/.ssh/authorized_keys文件中:

1
2
3
4
mkdir -p ~/.ssh
echo "your_public_key" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

3.配置多个用户的免密登录

重复上述步骤,为每个用户生成各自的SSH密钥对并将公钥添加到目标服务器的authorized_keys文件中。

你可以将多个公钥添加到同一个authorized_keys文件中,每行一个公钥。例如:

1
2
cat ~/.ssh/id_rsa_user1.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa_user2.pub >> ~/.ssh/authorized_keys

4.验证免密登录

1
ssh user@remote_host

5.配置 SSH 配置文件(可选)

为了简化登录过程,你可以配置 SSH 客户端的config文件。编辑~/.ssh/config文件,添加如下内容:

1
2
3
4
Host remote_alias
HostName remote_host
User user
IdentityFile ~/.ssh/id_rsa

这样,你就可以通过简短的命令登录:

1
ssh remote_alias