web-dev-qa-db-ja.com

.sshディレクトリが作成されていません

.ssh dirを生成するには、次のコマンドを使用します。

ssh-keygen

このチュートリアルから: http://ebiquity.umbc.edu/Tutorials/Hadoop/05%20-%20Setup%20SSHD.html

しかし、.sshディレクトリは作成されないため、cd ~/.sshを使用するとこのエラーが発生します。

"no such file or directory"

足りないステップはありますか? .sshコマンドを使用するときに、ssh-keygen dirを作成する必要がありますか?

42
blue-sky

このディレクトリを作成するのに十分な権限があると仮定しています。

問題を修正するには、他の場所にsshすることができます:

ssh [email protected]

新しいキーを受け入れます-~/.sshknown_hostsの下にディレクトリを作成するか、単に

mkdir ~/.ssh
chmod 700 ~/.ssh

chmod 700は重要なステップであることに注意してください!

その後、ssh-keygenは問題なく動作するはずです。

61
mvp

足りないステップはありますか?

はい。ディレクトリを作成する必要があります。

mkdir ${HOME}/.ssh

さらに、SSHでは、あなた(所有者)のみが〜/ .sshにあるものにアクセスできるように、アクセス許可を設定する必要があります。

% chmod 700 ~/.ssh

.sshコマンドを使用するときに、ssh-keygen dirを生成する必要がありますか?

いいえ。このコマンドは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/*
4
Johnsyweb

他の回答に対するわずかな改善として、mkdir-mスイッチを使用して、chmodおよびmkdirを単一の操作として実行できます。

$ 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
...
...
1
slm