不输入密码ssh直接登录阿里云Linux主机
服务器环境:阿里云云服务器,Linux版本 - CentOS
客户端环境:Mac OSX Terminal
在Terminal中用ssh命令登录服务器每次都要输入密码,虽然可以复制/粘贴密码,但登录后一段时间不操作,服务器会自动断开连接,连接时又要复制/粘贴密码,还是有些不方便。
有没有办法实现登录时不用输入密码呢?有办法,这篇博文分享的就是解决方法。
不输入密码,服务器如何验证客户端呢?通过证书,证书就像你进办公室门时的门卡。客户端登录时,拿门卡(证书)在服务器上刷一下(证书验证),服务器会检查这张门卡能不能开门。
那如何制作门卡,如何把门卡信息告诉服务器呢?用下面的操作步骤来回答这个问题。
1. 打开你放门卡的皮夹
cd ~/.ssh/
如果没有皮夹,去买一个:
mkdir ~/.ssh
2. 制作门卡
ssh-keygen -t rsa
默认门卡文件名:id_rsa.pub
3. 后来才知道3-6步骤可以用下面的一行命令取代
a)Mac
ssh user@server "echo \"`cat .ssh/id_rsa.pub`\" >> .ssh/authorized_keys"
b)Linux 或 Windows 上的 git bash
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
3. 将门卡复制一个并放至服务器的皮夹
scp id_rsa.pub username@server:~/.ssh/id_rsa.pub
注:如果服务器上没有 .ssh 文件夹,需要先登录服务器进行创建,建议通过下面的命令生成 .ssh 文件夹
ssh-keygen -t rsa
4. 登录到服务器(需要输入密码),从服务器皮夹中拿出门卡,取出其中的信息,放到专用的夹层
ssh username@server
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
5. 销毁服务器皮夹中的门卡
rm id_rsa.pub
6. 退出服务器
exit
7. 再次登录时就无需输入密码
ssh username@server
Welcome Houyi VM System !
[root@aliyun-cnblogs ~]#
无密码ssh登录就这么简单!
参考文章: