Windows CHMOD 600

Aus*_*son 35 windows permissions ssh ssh-keys

我正在尝试使用Windows中的OpenSSH连接到Amazon EC2,但我需要设置密钥文件的权限.

窗户相当于CHMOD 600什么?

我已经广泛搜索并发现只有blogspam.

编辑:Windows 7,使用DOS.

에이바*_*에이바 28

我意识到这有点旧,但我刚刚在Windows 7中找到了自己的解决方案.看起来这个问题没有得到解决.我把所有的同样的错误,包括Cygwin missing cygintl-2.dllchmod你的评论中指出.

经过广泛的研究,没有找到任何答案我跑了:

C:\Users\mztriz\.ssh>ssh -v
Run Code Online (Sandbox Code Playgroud)

OpenSSH_3.8.1p1,OpenSSL 0.9.7d 2004年3月17日用法:ssh [-1246AaCfghkNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D port] [-e escape_char] [-F configfile] [-i identity_file] [ -L port:host:hostport] [-l login_name] [-m mac_spec] [-o option] [-p port] [-R port:host:hostport] [user @] hostname [command]

正如您所看到的,我运行的OpenSSH版本已经过时了.但是,我不知道这是因为快速谷歌搜索 OpenSSH for Windows返回这个旧版本.

在查看版本后,我在该网站的下载部分找到了OpenSSH for Windows 6.9p1-1.

这个较新版本的OpenSSH似乎解决了你提到的所有问题.

  • (+1)卸载0.9.7d版本的OpenSSH,并按照本文中的说明安装新的OpenSSH.`chmod`就像一个魅力. (2认同)
  • 谢谢你指出这一点.互联网尚未了解http://www.mls-software.com/opensshd.html. (2认同)

Eri*_*rin 17

我在 Windows 10 上遇到了同样的问题。我通过执行以下步骤修复了它。

1:- 右键单击​​目标文件并选择properties然后选择SecurityTab

2:- 单击Advanced然后确保禁用继承。

3:- 单击apply,然后单击Edit安全菜单

4:-Remove除管理员用户外的所有用户,应具有完全控制权 *管理员帐户应在Allow列上选中除特殊权限外的所有复选框。

5:- 单击Apply,然后单击确定。

你已准备好出发。这适用于 Amazon EC2.pem文件,并且与 Linux 上的 Chmod 600 几乎相同。

在此处输入图片说明

  • 你是唯一!谢谢!删除除我之外的所有用户修复了它,ty。 (4认同)

小智 11

与 Windows 中的类似chmod,您可以使用该icacls命令。

Windows 中的等效项chmod 600 <filename>将是:

# Add explicit R+W permissions for current user.
icacls <filename> /grant %username%:rw
# Disable inheritance from folders
icacls <filename> /inheritance:d
# Remove default groups (Authenticated Users, System, Administrators, Users)
icacls <filename> /remove *S-1-5-11 *S-1-5-18 *S-1-5-32-544 *S-1-5-32-545
Run Code Online (Sandbox Code Playgroud)

要检查当前权限: icacls <filename>

将所有权限重置为默认值: icacls <filename> /reset

  • 这是唯一正确的答案,伙计们,醒醒吧!只有在这里我们才有在 Windows CLI(DOS 命令提示符)中使用的命令。Austin很清楚,他需要DOS下的命令。 (2认同)

小智 9

修改权限,以便:

  • 密钥文件不会从容器继承
  • 您(所有者)拥有完全访问权限
  • 删除任何其他用户的权限条目(例如,SYSTEM,Administrator)
  • 为特殊用户添加条目Everyone并将该用户的权限编辑为Deny以获取所有权限:
    • 在Windows资源管理器中右键单击该文件,然后选择"属性">"安全性">"高级",以获取"高级安
    • 单击"权限"选项卡,然后单击"更改权限".
    • 单击"添加",在"对象名称"字段中输入Everyone,单击"检查名称",然后单击"确定".
    • 在"权限条目"对话框中,单击"完全控制"的"拒绝"列中的复选框.
    • 在每个对话框上单击"确定"以退出并关闭文件的"属性"对话框.

现在scp将读取权限0400并将很高兴.伊什.


Eri*_*rik 7

右键单击文件/目录,选择"属性",然后选择"安全性".单击高级,然后单击编辑.取消选中"可继承",然后在对话框中选择"删除".删除所有显式权限,为您的用户名添加"完全访问权限"权限.


Ral*_*eus 6

我也是同样的问题.解决方案,其工作原理是将ssh.exe的兼容模式设置为Windows XP SP3.


Jon*_*han 6

对于 Unix 和 OSX

很简单:

chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/
Run Code Online (Sandbox Code Playgroud)

对于 Windows

如果文件是 Windows (NTFS) 符号链接,则上述方法不起作用。您需要将其设为常规文件。我不知道为什么。

如果您没有 openssh 或 cygwin,请使用 Chocolatey 使用Chocolatey轻松安装它。

choco install cyg-get
Run Code Online (Sandbox Code Playgroud)

打开安装了 Chocolatey 的Cygwin 终端并运行(注意ssh-keygen创建新密钥):

cyg-get install openssh
ssh-keygen
cd ~/.ssh && explorer.exe .
Run Code Online (Sandbox Code Playgroud)

验证密钥是否存在(或用您想要的密钥替换它们),然后在 Cygwin shell 中:

chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/
Run Code Online (Sandbox Code Playgroud)

或者对于您正在使用(并从中生成密钥)巧克力的 SSH包的罕见情况:

chown -R $USER:users  /cygdrive/c/Users/$USER/.ssh
chmod -R 600 /cygdrive/c/Users/$USER/.ssh
Run Code Online (Sandbox Code Playgroud)


Cod*_*ker 5

chmod 在 Windows 中不起作用。尝试以下方法限制访问

  • 右键单击文件>属性>安全性>高级>禁用继承>“将继承的权限转换为对此对象的显式权限”
  • 单击“允许|所有人|完全控制”>编辑>“选择主体”>输入您的用户名>“检查名称”>选择您的用户名>确定>确定>确定(确定直到所有窗口都关闭)


Aus*_*son -1

没有真正回答同一个问题,但我能够使用以下说明连接到 EC2:

从 Windows SSH 到 EC2 Linux 实例