首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >私钥上的cwrsync权限

私钥上的cwrsync权限
EN

Stack Overflow用户
提问于 2014-10-04 04:35:18
回答 2查看 2.7K关注 0票数 2

我在Windows8上安装了SSH5.3.0,我想设置无密码的cwRsync。我运行ssh-keygen来创建密钥,并将公钥复制到远程机器。但是当我尝试SSH时,我得到的结果是:

代码语言:javascript
复制
C:\>ssh myuser@myhost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/cygdrive/c/Users/myuser/.ssh/id_dsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /cygdrive/c/Users/myuser/.ssh/id_dsa

如何更改文件的权限,使cwRsync不会将其视为组可读?我尝试删除它的Windows权限继承,并删除除我的用户之外的任何人的访问权限。但这似乎没有任何效果。

EN

回答 2

Stack Overflow用户

发布于 2017-09-08 01:41:18

我只是遇到了同样的情况,我安装了cwrsync,但无法通过cygwin或其他方式访问chmod。我能够使用rysnc.exe本身来解决这个问题:

如果%PATH%中不存在rsync.exe,请将其添加到其中:

代码语言:javascript
复制
PATH=%PATH%;c:\path\to\cwrsync\bin

切换到SSH私钥所在的文件夹:

代码语言:javascript
复制
cd c:\users\myuser\.ssh\

使用rsync通过chmod开关(700=u+rwx、g=、o=)执行SSH私钥的本地复制:

代码语言:javascript
复制
rsync --chmod=700 id_dsa id_dsa.bak

键入每个文件以确保内容相同,以确保rsync命令成功运行:

代码语言:javascript
复制
type id_dsa
type id_dsa.bak

用.bak (现在具有正确的权限)覆盖原始的SSH私钥:

代码语言:javascript
复制
move id_dsa.bak id_dsa

测试SSH以确保它现在工作正常:

代码语言:javascript
复制
ssh -i id_dsa myuser@myhost
票数 2
EN

Stack Overflow用户

发布于 2019-07-15 22:40:54

我最近遇到了这个问题,phiz的答案对我不起作用。然而,Stéphane在评论中的解决方案是有帮助的,我觉得这应该是一个正确的答案,而不是评论。

Windows :将.ssh文件夹上的权限设置为对您自己和其他任何人的完全访问权限。

找到cwRsync保存ssh密钥的目录(可能是c:\home\username\.ssh<path to cwRsync install>\home\username\.ssh)。使用Windows权限对话框可删除此目录中所有继承的权限,并仅将完全控制权限设置为您自己的帐户。

(请注意,我发现必须删除系统和管理员的权限才能正常工作。它可能仍然适用于一个或另一个存在,但我立即删除了这两个,并发现它是这样工作的。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26186429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档