生成密钥对(若未生成):
在本地终端执行:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按提示回车使用默认路径和密码(可选),生成 id_rsa(私钥)和 id_rsa.pub(公钥)。
上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host~/.ssh/authorized_keys。cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"~/.ssh 权限为 700,authorized_keys 权限为 600。配置服务器(可选):
编辑 /etc/ssh/sshd_config,确保以下参数:
PubkeyAuthentication yes
PasswordAuthentication no # 禁用密码登录(增强安全)
重启SSH服务:sudo systemctl restart ssh。
使用私钥登录:
执行命令:
ssh -i ~/.ssh/id_rsa user@remote_host
若私钥有密码,需输入密码;否则直接登录。
说明:
eval "$(ssh-agent -s)" + ssh-add ~/.ssh/id_rsa)避免重复输入密码。~/.ssh/config 中配置别名简化命令。