概述
最近为了安全起见,设置了服务器私钥访问。设置步骤很简单,但是设置完成后发现总是访问被拒绝,最后求助于万能的网友,发现原来是文件权限设置问题。
一、生成私钥和公钥
我是使用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设置私钥和登录名,保存登陆会话完成设置。然后就能通过私钥访问服务器了。
四、关闭密码登陆(可选)
为了安全,最好将密码登陆关闭。方法如下,依旧是打开/etc/ssh/sshd_config文件,修改下面这个参数即可:
PasswordAuthentication no
修改完成后重启一下ssh服务。
Enjoy it!
最后
以上就是笑点低故事为你收集整理的关于SSH公钥和私钥的权限设置的全部内容,希望文章能够帮你解决关于SSH公钥和私钥的权限设置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复