一、可以使用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