糗事之 -- 用ssh公钥实现免密码登录
前言:工作原因,每天都会登录好多次服务器,每次都是ssh root@192.168..... 然后输入密码,来来回回输几次真是很烦啊.
问题:怎么可以在每次ssh连接服务器时不用输入密码,直接登录?
方法:
1.打开命令行输入:
wyy@wyy:~/.ssh$ /usr/bin/ssh-keygen -t rsa
按照提示输入密码确认,这样会在用户的/.ssh目录下产生一对密钥.
id_rsa 私钥 id_rsa.pub 公钥
2.产生本地的密钥后我们要把本地密钥拷贝到远程服务器授权.
注意了:
wyy@wyy:~/.ssh$ scp id_rsa.pub ubuntu@newassets.rongyi.com:.ssh/authorized_keys
没错,我就是这样写的,结果把服务器上的authorized_keys文件内容,全覆盖掉了,哇哇..,好多人的密钥都被我覆盖了,那个糗啊~~~~请大家喝下午茶去(擦着眼泪掏腰包中),大家可别学我啊.
改进方法:
wyy@wyy:~/.ssh$ ssh-copy-id ubuntu@newassets.rongyi.com:.ssh/authorized_keys
这样的话是把自己的ssh公钥添加到远程服务器上的authorized_keys上,而不是把整个文件覆盖掉.
ps: 做什么事前得明白自己做的到底是什么,会有什么样的结果.