CentOS启用ssh密钥登录

 在某些时候,使用密码作为登录服务器的认证方式是不太安全的,为避免密码被暴力破解,许多时候可以采用ssh密钥登录服务器,这里以CentOS为例。

第一步

  生成秘钥对

方法一、在服务器上利用ssh-keygen生成,进入到 /root/.ssh/ 输入:

ssh-keygen -t rsa

一路enter跳过(当然你也可以自己定义,不过没必要),会在/root/.ssh下生成公钥(id_rsa.pub)私钥(id_rsa) (公钥是用于服务器端,私钥是用于客户端) 然后将私钥下载至电脑上(登录时会用到)。

使用Xshell工具下载私钥

1、使用xshell来操作服务非常方便,传文件也比较方便。

2、就是使用rz,sz首先,服务器要安装了rz,sz 

3、yum install lrzsz  安装最后会选择y,在回车安装完成

4、运行rz,会将windows的文件传到linux服务器 

5、运行sz filename,会将文件下载到windows本地 

方法二、利用远程工具(如Xshell)生成

这里以Xshell为例,点击”工具-新建用户密钥生成向导”全部默认,下一步,提示输入密钥加密的密码,这里可以为空,下一步,将公钥保存为文件,命名为id_rsa.pub,上传到服务器/root/.ssh下。

 

第二步、修改/etc/ssh/sshd_config如下部分

1、RSAAuthentication yes 开启RSA验证

2、PubkeyAuthentication yes 是否使用公钥验证

3、AuthorizedKeysFile   .ssh/authorized_keys 公钥的保存位置

4、PasswordAuthentication no 禁止使用密码验证登录

这里最好是禁止使用密码验证登录,否则用密钥就没多大意义了。更改后保存。

 

第三步、进入到密钥保存的目录:

cd/root/.ssh     新建密钥验证文件”authorized_keys”,并将公钥输出重定向覆盖密钥验证文件

touch authorized_keys 

cat id_rsa.pub >> authorized_keys  这里建议使用追加而不是覆盖

修改authorized_keys文件权限为600

chmod  600 /root/.ssh/authorized_keys

第四步、重启ssh服务

1、#CentOS 7之前的版本请执行: 

service sshd restart

2、#CentOS 7请执行: 

systemctl restart sshd.service

接下来就能够通过密钥登录服务器了

在打开连接的时候会提示导入用户密钥,选择之前保存的私钥文件”id_rsa”即可。

转载于:https://my.oschina.net/u/4094683/blog/3020611

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值