美文网首页
CentOS/Ubuntu 等 SSH 免密码登录

CentOS/Ubuntu 等 SSH 免密码登录

作者: printfcoder | 来源:发表于2017-02-08 21:40 被阅读0次

最近加入项目中,成员名安全意识比较差,远程登录服务器只用账号密码。今天,写篇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、大功告成

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

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

相关文章

网友评论

      本文标题:CentOS/Ubuntu 等 SSH 免密码登录

      本文链接:https://www.haomeiwen.com/subject/jnmbittx.html