美文网首页
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