我有一个 *.ppk 文件,以便我可以通过 SSH 连接到服务器。
我正在使用 Ubuntu 10.x。
我需要运行哪些命令才能获得 SSH 权限?
我发现了一些事情
ssh-add some_file.ppk
但后来我得到了这个:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'foofoofoo.ppk' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
我如何更改该文件的权限以便 Ubuntu 可以通过 ssh 验证我的 .ppk 文件?
谢谢
答案1
从错误消息来看,我会说执行chmod 600 some_file.ppk
并重试。这会设置文件的权限,以便只有您可以读取和写入它(0777 表示系统上的任何用户都可以读取或写入该文件)。
附注:私钥应始终有密码。只有在将其添加到 SSH 代理时才会提示您输入密码。
答案2
.ssh 目录仅需由所有者读取/写入/执行:
chmod 700 .ssh
authorized_keys 和 authorized_keys2 仅需要由所有者读取/写入:
chmod 600 .ssh/authorized_key*
由于我不使用 Ubuntu,因此我无法验证这是否可行,但这是 RHEL/CentOS 所需的设置。
答案3
这将删除文件组中的其他用户以及所有其他用户的所有权限:
$ chmod g=,o=some_file
(请注意,根据您系统的配置,您可能是您所在组中的唯一用户,该组应该与拥有该文件的组相同。)
使用 ls -l 查看文件权限:
$ ls -l some_file
-rw-r--r-- 1 user group 0 2010-7-14 23:29 some_file
$ chown g=,o= some_file
$ ls -l some_file
-rw------- 1 user group 0 2010-7-14 23:29 some_file
答案4
您有两个选择:
- 修复权限(
chmod 600 some_file.ppk && ssh-add some_file.ppk
) - 通过标准输入添加键(
ssh-add - <some_file.ppk
)