[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
- 生成自己的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:
- 得到两个文件: 公钥id_rsa.pub,私钥id_rsa
- 注意id_rsa的权限
chmod 600 id_rsa
chmod 644 id_rsa.pub
- 把公钥 scp 到服务器server上
scp -r .ssh/id_rsa server:.ssh/
- 登录服务器, 对公钥授权
ssh user@server
cd .ssh
cat id_rsa.pub >>authorized_keys
- 完成以上步骤,就可以使用rsa key进行无密码的server ssh登陆了 -
ssh user@server_address
# 如果你的本地用户名和server用户名相同
ssh server_address
-
如果还需要密码, 那可能是文件权限不对
-
- 最好保持本地.ssh和server的.ssh文件权限一致
chmod 700 .ssh/
chmod 600 .ssh/id_rsa
chmod 644 .ssh/authorized_keys
chmod 644 .ssh/id_rsa.pub
但是还是有报错:
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 连接教程
登录失败
结果登录不上,登录报错截图
主要原因就是当前文件给的权限太大了,不够安全,所以终止了连接
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 下实际上是不可用的,会出现如下提示
我自己用的一直是 cmder ,虽然拓展了该命令工具,但是实际上是不会生效的,而且也没有反馈
实际上在 win10 环境下,应该是使用 icacls 命令设置访问权限,但是对于这一块实在是不熟,网上资料也比较少,有感兴趣的可以看 微软官方文档
最终的解决办法
1.先清空所有权限
密钥文件右键 -》属性 -》 安全 -》 高级 -》 禁用权限 -》从此对象中删除所有已继承的权限 -》 应用
设置完之后,当前文件的权限已经全部清除了
2.给连接用户设置访问权限
这个时候我们需要添加一个用户,给予访问权限,要与使用 ssh 连接登录的用户一致
右键 -》属性 -》 安全 -》 高级 -》 添加 -》 选择主体 -》 高级 -》 立即查找 -》 选择用户后确认,一路保存即可
3.测试连接
这个时候我们再使用 ssh 连接,就会提示连接成功啦
参考:https://www.cnblogs.com/chkhk/p/13414823.html