ssh密钥登录

Posted 请叫我小路飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh密钥登录相关的知识,希望对你有一定的参考价值。

简介:有时候我们出于安全的考虑需要禁止用户名密码登录,只允许密钥登录,这样别人尝试攻击你的服务器的用户名和密码了

环境:centos6.5

服务器步骤

    1.生成公钥和私钥:

      $ ssh-keygen -t rsa,copy默认的地址存放密钥,这将在您的(隐藏)?/ .ssh目录中创建两个文件,名为:id_rsa和id_rsa.pub第一个:id_rsa是您的私钥,而另一个:id_rsa.pub是您的公钥。这个地方要注意下安装过程中会提示你输入密码,如果对于安全性不是很高很高可以跳过,一旦你设置了密码,后面密钥链接的时候还需要再输入密码

    2. 赋予密钥权限:    

  $ chmod 700~/.ssh
  $ chmod 600~/.ssh/id_rsa

    3. 将公钥(id_rsa.pub)复制到服务器并将其安装到authorized_keys列表中:

      $ cat id_rsa.pub >>~/.ssh/authorized_keys

    4.最后在服务器上设置文件权限      

    $ chmod 700~/.ssh
  $ chmod 600~/.ssh/authorized_keys

     如果在/etc/ssh/sshd_config(默认)中将StrictModes设置为yes,则需要上述权限。

    5.确保设置正确的SELinux上下文:

      $ restorecon -Rv ~/.ssh

    6.禁止用户名密码登录强制密钥登录:

      在打开/etc/ssh/sshd_config:

    #禁用密码认证强制使用密钥
      PasswordAuthentication no

然后把id_rsa拷贝一份到我们的windows上,ssh登录的时候选择密钥登录就可以了,这样我们就可以只允许密钥登录了

FQA:1.如果提示服务器没有对应的密钥,那可能是authorized_keys中导入的公钥有问题,暴力一点直接打开原来的公钥文件id_rsa.pub,直接copy,然后粘贴到authorized_keys中

 

以上是关于ssh密钥登录的主要内容,如果未能解决你的问题,请参考以下文章

SSH密钥登录突然连不上了

CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

Debian9.5下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

linux如何配置ssh密钥登录

Xshell配置ssh使用密钥公钥(publice key)登录

ubuntu设置 SSH 通过密钥登录