不输入密码ssh直接登录阿里云Linux主机

作者: littleGG 发布时间: 2017-06-14 浏览: 2814 次 编辑

最新使用自动打包系统遇到了自动上传不输入密码登录的东西,借鉴了下面这篇文章

服务器环境:阿里云云服务器,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文件夹,需要先登录服务器进行创建。

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登录就这么简单!

标签: