1. 生成SSH密钥对
在本地客户端生成SSH密钥对。生成密钥对命令为:
ssh-keygen -t rsa
按回车键确认默认设置,生成的密钥对将保存在 ~/.ssh/id_rsa
(私钥)和 ~/.ssh/id_rsa.pub
(公钥)。
2. 上传密钥对至需要免密的服务器
修改密钥对文件夹及文件权限
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
使用命令上传密钥对
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ecs_ip
3. 配置ECS服务器的SSH服务
在需要免密的ECS服务器上,编辑 /etc/ssh/sshd_config
文件,确保以下配置:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no
然后重启SSH服务:
sudo systemctl restart sshd
4. 配置服务器间互信
服务器生成各自的密钥对后,查看密钥对信息,命令如下:
cat ~/.ssh/id_rsa.pub
复制密钥信息,添加到authorized_keys
文件中,格式如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2H... user@server1 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3J... user@server2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4K... user@server3
5. 测试免密登录
ssh username@ecs_ip