要生成.ssh
目录,我使用以下命令:
ssh-keygen
取自本教程:http ://ebiquity.umbc.edu/Tutorials/Hadoop/05%20-%20Setup%20SSHD.html
但是该.ssh
目录没有创建,所以当我使用时cd ~/.ssh
出现此错误:
"no such file or directory"
是不是少了一个步骤?.ssh
使用命令时是否应该创建目录ssh-keygen
?
要生成.ssh
目录,我使用以下命令:
ssh-keygen
取自本教程:http ://ebiquity.umbc.edu/Tutorials/Hadoop/05%20-%20Setup%20SSHD.html
但是该.ssh
目录没有创建,所以当我使用时cd ~/.ssh
出现此错误:
"no such file or directory"
是不是少了一个步骤?.ssh
使用命令时是否应该创建目录ssh-keygen
?
我假设你有足够的权限来创建这个目录。
要解决您的问题,您可以 ssh 到其他位置:
ssh user@some.host
并接受新密钥 - 它将在下面创建目录~/.ssh
,known_hosts
或者简单地使用手动创建它
mkdir ~/.ssh
chmod 700 ~/.ssh
请注意,这chmod 700
是重要的一步!
之后, ssh-keygen 应该可以毫无怨言地工作。
是不是少了一个步骤?
是的。您需要创建目录:
mkdir ${HOME}/.ssh
此外,SSH 要求您设置权限,以便只有您(所有者)可以访问 ~/.ssh 中的任何内容:
% chmod 700 ~/.ssh
.ssh
使用命令时是否应该生成目录ssh-keygen
?
否。此命令会生成一个 SSH 密钥对,但如果它无法写入所需的目录,则会失败:
% ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxx/.ssh/id_rsa): /Users/tmp/does_not_exist
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
open /Users/tmp/does_not_exist failed: No such file or directory.
Saving the key failed: /Users/tmp/does_not_exist.
创建密钥后,您还应该限制只有您自己可以读取这些密钥文件:
% chmod -R go-wrx ~/.ssh/*
作为对其他答案的轻微改进,您可以使用's开关将mkdir
andchmod
作为单个操作。mkdir
-m
$ mkdir -m 700 ${HOME}/.ssh
从 Linux 系统
$ mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask
...
...