在 CentOS 系统中,实现 SSH 自动登录可以通过修改 SSH 配置文件和使用 ssh-agent 工具来实现。以下是具体步骤:
ssh-agent 和 ssh-add启动 ssh-agent:
打开终端并运行以下命令来启动 ssh-agent:
eval "$(ssh-agent -s)"
添加私钥到 ssh-agent:
使用 ssh-add 命令将你的私钥添加到 ssh-agent 中。假设你的私钥文件是 ~/.ssh/id_rsa:
ssh-add ~/.ssh/id_rsa
如果你的私钥有密码保护,系统会提示你输入密码。
配置 SSH 配置文件:
编辑你的 SSH 配置文件 ~/.ssh/config,添加以下内容:
Host your_remote_host
HostName your_remote_host_ip_or_hostname
User your_username
IdentityFile ~/.ssh/id_rsa
将 your_remote_host、your_remote_host_ip_or_hostname 和 your_username 替换为实际的远程主机名、IP 地址和用户名。
sshpass如果你不想使用 ssh-agent,可以使用 sshpass 工具来自动输入密码。首先需要安装 sshpass:
sudo yum install sshpass
然后使用以下命令进行 SSH 连接:
sshpass -p 'your_password' ssh your_username@your_remote_host_ip_or_hostname
将 your_password、your_username 和 your_remote_host_ip_or_hostname 替换为实际的密码、用户名和远程主机信息。
sshpass 时,密码会以明文形式出现在命令行中,存在安全风险。建议优先使用 ssh-agent 方法。~/.ssh 目录和 ~/.ssh/config 文件的权限设置正确,以防止未经授权的访问:chmod 700 ~/.ssh
chmod 600 ~/.ssh/config
通过以上方法,你可以在 CentOS 系统中实现 SSH 自动登录。选择适合你需求的方法进行配置即可。