关于SSH公钥和私钥的权限设置

  最近为了安全起见,设置了服务器私钥访问。设置步骤很简单,但是设置完成后发现总是访问被拒绝,最后求助于万能的网友,发现原来是文件权限设置问题。

一、生成私钥和公钥

  我是使用Linux的Openssh生成公钥和私钥的,指令如下:

ssh-keygen -t rsa

  按照提示在默认目录下生成即可,另外可以设置密钥加密密码用来保护私钥。当然,我怕麻烦所以并没有设置这个٩(ˊᗜˋ*)و。
  上述操作会在~/.ssh目录下生成2个文件:id_rsa.pub和id_rsa。最后还需要生成authorized_keys这个文件:

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

二、设置文件权限

  这一步比较关键,不设置会被服务器拒绝访问。首先设置~/.ssh目录权限为700,然后设置authorized_keys权限为600。

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

  另外还需要确认ssh的配置文件中是否开启了密钥登陆,确认/etc/ssh/sshd_config文件中两个参数为如下显示(被注释掉了的话取消注释就好了):

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

  最后需要重启一下ssh服务:

systemctl restart ssh.service

三、设置Putty

  将上述生成的id_rsa下载到需要远程登陆的电脑上,打开PuTTY同目录下的PuTTYgen,导入id_rsa文件,然后点击生成私钥完成转换。

putty_key_generator_173784b7a774dccbe.jpg

  打开PuTTY设置私钥和登录名,保存登陆会话完成设置。然后就能通过私钥访问服务器了。

putty_configuration_1acee66721034fd51.jpg

putty_configuration_29c33207ac2964183.jpg

四、关闭密码登陆(可选)

  为了安全,最好将密码登陆关闭。方法如下,依旧是打开/etc/ssh/sshd_config文件,修改下面这个参数即可:

PasswordAuthentication no 

  修改完成后重启一下ssh服务。

Enjoy it!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值