对于经常需要在多台服务器之间切换的系统管理员和开发人员来说,免密码 SSH 登录是一个必备技能,它可以节省大量时间和精力。
生成密钥交换密钥
首先,在生成密钥对之前,需要确保服务器上已安装了 OpenSSH。然后,在您的本地机器上运行以下命令生成密钥对:
bash
ssh-keygen -t rsa -b 4096
这将在当前目录中生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
将公钥复制到目标服务器
接下来,将公钥复制到您要免密码登录的目标服务器。有两种 可以做到这一点:使用 SSH 复制命令或手动复制。
使用 SSH 复制命令:
bash
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_address
手动复制:
使用文本编辑器打开公钥文件(id_rsa.pub)。
复制公钥的内容。
在目标服务器上,使用 SSH 登录。
在目标服务器上,以 root 用户身份运行以下命令:
bash
cat >> ~/.ssh/authorized_keys
将复制的公钥粘贴到此文件并保存。
测试免密码登录
完成上述步骤后,即可尝试免密码登录目标服务器。在您的本地机器上运行以下命令:
bash
ssh username@server_address
如果成功,您将能够在输入密码的情况下登录远程服务器。如果遇到问题,请检查以下事项:
* 确保密钥对已正确生成。
* 确保公钥已正确复制到目标服务器。
* 确保目标服务器上已启用 SSH 密钥身份验证。