A为本地主机
B为远程主机
AB都是linux
在A上:
建立认证公钥和私钥
ssh-keygen -t rsa
将公钥文件上传到服务器上的home
scp ~/.ssh/xxx.pub username@hostname:path
在B上:
在userhome下创建.ssh文件夹
mkdir .ssh
修改文件夹权限
chmod 700 .ssh
将客户端传过来的公钥文件中的内容加入到authorized_keys中
cat xxx.pub >> .ssh/authorized_keys
修改authorized_keys权限
chmod 644 .ssh/authorized_keys
如果在生成密钥的时候自己指定了文件名,则需要在ssh客户端全局配置文件/etc/ssh/ssh_config中添加如下配置
IdentityFile /path/to/your_id_rsa
也可以为每个服务器指定一个Host配置:
Host hostname
IdentityFile /path/to/your_id_rsa
如果在连接时出现如下错误:
Agen admitted failure to sign using the key
则使用ssh-add指令将私钥加进来
ssh-add ~/.ssh/your_id_rsa