linux6ssh密钥,Centos6下使用SSH密钥认证登录配置

一、可以使用XSHELL等工具生成公钥和私钥

二、修改密钥

使用notepad打开public key,然后将base64那几行修改成一行,把头和尾巴的注释去掉

---- BEGIN SSH2 PUBLIC KEY ----

Comment: "rsa-key-20140803"

AAAAB3NzaC1yc2EAAAABJQAAAIBO2DhCxuPLp41ZchDyBj6PYe2RZ2wiQ54Z8bB3

wEjVYBCE5V8U6lKLoWDFlgHWjm+W08mjBUbEyZx0D5oW+zS2cKkJHS1QKhBCMFwD

0nA+/4cQpFN53TTO4iny3cQnwELPS68x+Cc0NTuqu9doYarCOX08tYO/dasfsqcP

sD2psQ==

---- END SSH2 PUBLIC KEY ----

修改成

AAAAB3NzaC1yc2EAAAABJQAAAIB....(表示省略)修改成为一行 ,把换行符删除

保存

三、服务器配置

1、需要关闭selinux

两种方法

方法一:

执行以下命令,临时关闭

setenforce 0

方法二:

修改 vi /etc/selinux/config文件,将SELINUX=disabled

然后保存,重启服务器生效

2、将修改后的public key上传到服务器上面,放在/root/.ssh/目录中,然后执行还需要设置权限

mkdir -p /root/.ssh

把私钥授权到KEYS中

cat [pulbic key filename].pub >> authorized_keys

然后chmod 400 authorized_keys //稍微保护一下

chmod 700 /root/.ssh

3、然后修改authorized_keys,在刚刚添加的那段Base64字符串前面加上ssh-rsa,后面使用空格隔开,如下

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIB....(表示省略)

4、修改/etc/ssh/sshd_config文件,找到以下配置项,修改如下

Protocol 2

ServerKeyBits 2048 //根据你生成的位数修改

RSAAuthentication yes

PubkeyAuthentication yes //开启密钥认证

AuthorizedKeysFile.shh/authorized_keys //指定文件路径

PasswordAuthentication no //关闭口令验证登录,以密钥认证登录

5.重启sshd服务

service sshd restart