在两台 Linux 机器之间实现免密码 SSH 登录,你可以使用 SSH 密钥对来认证。以下是实现这个目标的步骤:
生成 SSH 密钥对
-
在本地机器上(例如
local-machine
),打开终端并生成 SSH 密钥对:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
这将提示你输入文件名和密码。你可以按 Enter 键使用默认文件名(通常是
~/.ssh/id_rsa
),并选择是否设置密码(免密码登录时最好不设置密码)。
复制公钥到远程机器
-
使用
ssh-copy-id
命令将公钥复制到远程机器(例如remote-machine
):ssh-copy-id user@remote-machine
这里的
user
是你在远程机器上的用户名,remote-machine
是远程机器的 IP 地址或主机名。这个命令将要求你输入远程机器的用户密码。如果
ssh-copy-id
命令不可用,你可以手动复制公钥:cat ~/.ssh/id_rsa.pub | ssh user@remote-machine "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
同样,这里需要输入远程机器的用户密码。
验证免密码登录
-
现在你可以尝试从本地机器 SSH 登录到远程机器而无需输入密码:
ssh user@remote-machine
配置 SSH 设置(可选)
-
为了进一步简化登录过程,可以在本地机器的
~/.ssh/config
文件中配置 SSH 设置:Host remote-machine HostName remote-machine-ip User user IdentityFile ~/.ssh/id_rsa
这样你就可以使用简化的命令登录:
ssh remote-machine
这几个步骤完成后,你应该能够在两台 Linux 机器之间实现免密码 SSH 登录。如果你在过程中遇到任何问题,请告诉我,我可以提供进一步的帮助。