CentOS/Ubuntu 等 SSH 免密码登录

最近加入项目中,成员名安全意识比较差,远程登录服务器只用账号密码。今天,写篇SSH 登录远程的配置。

原文链接


前置条件:

1、一台主流的Linux服务器,如CentOS,Ubuntu,Fedora,redhat等

2、一台能连上以上服务器的客户机,我用的mac,系统是osx

预备动作:

1、打开终端 Terminal

2、生成ca证书私钥与公钥

      2.1  ssh-keygen

      此时终端会提示需要把证书文件放在哪个目录,一般而言,默认即可,也方便需要证书的程序能快速访问得到。然而往往我们的服务器可能是很多个,而且角色也会有不同。这就需要我们把不同的证书按需要放在不同的目录,现在,我们把证书按需要放到指定目录:

$ ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/shuxian/.ssh/id_rsa):/你需要的目录/

然后会让你输入密码:

Enter passphrase (empty for no passphrase):

这时候看自己的需要,建议还是要加个密码的,不然证书泄露后,至少还有密码作最后的防线。

然后一路 Enter,直到生成证书如下:


重点

1、将证书公钥放到服务器上,执行以下命令,-p 及之后的可以不用,就会默认用22端口,具体视服务器ssh端口的配置。

$ ssh-copy-id -i /刚刚保存的证书目录/id_rsa  你的登录名@服务器地址    -p 端口号 

2、此时你会看到如下信息,确认后,yes即可

The authenticity of host '你的登录名@服务器地址' can't be established.

ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.

Are you sure you want to continue connecting (yes/no)? yes

3、yes后会让输入登录密码

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

你的登录名@服务器地址's password:

4、输入正确后,将会收到如下信息

Number of key(s) added: 1

Now try logging into the machine, with:  "ssh '你的登录名@服务器地址'"

and check to make sure that only the key(s) you wanted were added.


5、尝试使用证书免密码登录, 如果证书加了密码,会让输密码,端口号是服务器的ssh端口号

ssh 你的登录名@服务器地址 -p 端口号 -i ~/证书目录/id_rsa

Enter passphrase for key '/证书目录/id_rsa': [输入密码]

Last login: Wed Feb8 21:28:09 2017 from *****


6、大功告成


补充语,下一步我们需要做的,禁止用户账密登录。登录一律使用证书,如何操作,请参考我的下一篇文章,谢谢!

如有误,请留言批评指正,大家共同进步!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,139评论 19 139
  • CA和证书安全协议(SSL/TLS)OpenSSH 一、CA和证书 (一) PKI(Public Key Infr...
    哈喽别样阅读 1,446评论 0 0
  • SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group...
    shuff1e阅读 1,812评论 1 11
  • SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet...
    StarShift阅读 2,589评论 0 7
  • 即使身边世事再毫无道理 与你永远亦连在一起 你不放下我 我不放下你 我想确定每天挽着同样的手臂 看着窗外阴沉沉的天...
    ff59b86b0c44阅读 255评论 0 1