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密钥登录的主要内容,如果未能解决你的问题,请参考以下文章
CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数
Debian9.5下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数