往往登陆阿里云都要去输那段又臭又长的密码,痛则思变,故做此文!服务器
阿里云服务器环境:Ubuntu 16.04.2
本地环境:MacOS 10.12.6
道理很简单,就是把本机的公钥放到云服务器上就能够了ssh
生成rsa秘钥,一路回车(已有rsa秘钥的请跳过此步骤)阿里云
ssh-keygen -t rsa
获取本机公钥code
cat ~/.ssh/id_rsa.pub
复制上一步输出的公钥,而后登录云服务器,在云服务器执行以下操做server
cd ~/.ssh/ ls // 查看是否有`authorized_keys`文件
若是没有authorized_keys
文件,则在~/.ssh/
文件夹下建立该文件ip
touch ~/.ssh/authorized_keys
将复制的公钥内容添加到authorized_keys
中去, 此时就能在客户端免密登陆云服务器了登录
echo "这里是复制的公钥内容,双引号不能省略" >> ~/.ssh/authorized_keys
回到你的客户端,原理
ssh root@xxx.xxx.xxx.xxx // 这里的内容是你的云服务器的ip地址,@前面是用来登陆的用户名
可是我遇到了以下问题
Enter passphrase for key 'XXXX'
每次都要求我输密码,而后从Stack Overflow解决了,方法是修改~/.ssh/config
文件的以下内容
Host * UseKeychain yes
在~/.ssh/config
中添加以下内容rsa
Host server1 User root HostName 'server1 的ip' Host server2 User root HostName 'server2 的ip'
这样一来,你就能够直接ssh server1
或者ssh server2
直接来链接到对应的服务器了,不须要记住每一个云服务器的IP了!云服务