首先在本机上生成密钥对:
ssh-keygen -t rsa
生成的本地秘钥位于:
~/.ssh/id_rsa #私钥
~/.ssh/id_rsa.pub #公钥
并将本地的公钥导入远程服务器,在本机操作:
cat ~/.ssh/id_rsa.pub | ssh 远程用户名@远程服务器 'cat - >> ~/.ssh/authorized_keys'
然后在远程服务器操作:
chmod 600 ~/.ssh/authorized_keys
在远程服务器中开启秘钥登陆:
vim /etc/ssh/sshd_config
PubkeyAuthentication yes //将该项改为yes
重启远程机 ssh 服务:
/etc/init.d/sshd restart
在本地编辑或添加配置文件:
vim ~/.ssh/config
加入以下内容:
Host 服务器名字,助记
HostName IP或者域名
Port 端口
User 用户名
IdentityFile ~/.ssh/id_rsa
即可通过 ssh 服务器名
快速登陆远程服务器。
从安全性上考虑,也更推荐本文这种基于密钥的鉴权方式,而不是使用密码。