当前位置:   article > 正文

Permission denied (publickey,password)问题的解决办法_permission denied (publickey,password).

permission denied (publickey,password).

[15:29:00.146] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[15:29:01.703] > root@59.110.21.45: Permission denied (publickey,password).

解决:

  • RSA key 登录方法
  • /home/user/ 目录下建立 .ssh/ 文件夹
cd ~/
mkdir .ssh
# 注意.ssh文件夹的权限
chmod 700 .ssh
  • 1
  • 2
  • 3
  • 4
  • 生成自己的RSA key
cd .ssh
ssh-keygen -t rsa
# 遇到如下输出,可直接回车继续
# Generating public/private rsa key pair.
# Enter file in which to save the key (/home/user/.ssh/id_rsa): 
# Enter passphrase (empty for no passphrase): 
# Enter same passphrase again: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 得到两个文件: 公钥id_rsa.pub,私钥id_rsa
  • 注意id_rsa的权限
chmod 600 id_rsa
chmod 644 id_rsa.pub
  • 1
  • 2
  • 把公钥 scp 到服务器server上
scp -r .ssh/id_rsa server:.ssh/
  • 1
  • 登录服务器, 对公钥授权
ssh user@server
cd .ssh
cat id_rsa.pub >>authorized_keys
  • 1
  • 2
  • 3
  • 完成以上步骤,就可以使用rsa key进行无密码的server ssh登陆了 -
ssh user@server_address
# 如果你的本地用户名和server用户名相同
ssh server_address
  • 1
  • 2
  • 3
  • 如果还需要密码, 那可能是文件权限不对

    • 最好保持本地.ssh和server的.ssh文件权限一致
chmod 700 .ssh/
chmod 600 .ssh/id_rsa
chmod 644 .ssh/authorized_keys
chmod 644 .ssh/id_rsa.pub
  • 1
  • 2
  • 3
  • 4

但是还是有报错:
Bad permissions. Try removing permissions for user: NT AUTHORITY\Authenticated Users (S-1-5-11) on file D:/.ssh/id_rsa.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for ‘D:\.ssh\id_rsa’ are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key “D:\.ssh\id_rsa”: bad permissions
root@59.110.21.45: Permission denied (publickey,password).

  • 参考一些大佬的教程

腾讯云官网 ssh 连接教程


登录失败

结果登录不上,登录报错截图

img

主要原因就是当前文件给的权限太大了,不够安全,所以终止了连接

Permissions for ‘xxx’ are too open.

It is required that your private key files are NOT accessible by others.

This private key will be ignored.

Load key “xxx”: bad permissions


官网doc

文档里,有一个步骤是 赋予私钥文件仅本人可读权限

教程里使用的是 chmod 命令,该命令在 windows 下实际上是不可用的,会出现如下提示

img

我自己用的一直是 cmder ,虽然拓展了该命令工具,但是实际上是不会生效的,而且也没有反馈

img

实际上在 win10 环境下,应该是使用 icacls 命令设置访问权限,但是对于这一块实在是不熟,网上资料也比较少,有感兴趣的可以看 微软官方文档


最终的解决办法

1.先清空所有权限

密钥文件右键 -》属性 -》 安全 -》 高级 -》 禁用权限 -》从此对象中删除所有已继承的权限 -》 应用

img

设置完之后,当前文件的权限已经全部清除了

img

2.给连接用户设置访问权限

这个时候我们需要添加一个用户,给予访问权限,要与使用 ssh 连接登录的用户一致

右键 -》属性 -》 安全 -》 高级 -》 添加 -》 选择主体 -》 高级 -》 立即查找 -》 选择用户后确认,一路保存即可

img

3.测试连接

这个时候我们再使用 ssh 连接,就会提示连接成功啦

img
参考:https://www.cnblogs.com/chkhk/p/13414823.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/194464
推荐阅读
相关标签
  

闽ICP备14008679号