bash: /home/user/.ssh/authorized_keys: 해당 파일이나 디렉터리가 없습니다.

bash: /home/user/.ssh/authorized_keys: 해당 파일이나 디렉터리가 없습니다.

SSH 키를 생성합니다:

$ ssh-keygen -t rsa –P ""

키를 승인된 키로 이동합니다.

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

bash: /home/user/.ssh/authorized_keys: No such file or directory

답변1

bash: /home/user/.ssh/authorized_keys: No such file or directory

path 요소가 /home/user/.ssh/존재하지 않습니다. shell()은 명령()을 실행하기 전에 리디렉션()을 확인합니다 bash. 존재하는 경우 다음을 시도하십시오.>>cat/home/user

cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this

이제 다음을 얻게 됩니다:

cat: /home/user/.ssh/id_rsa.pub: No such file or directory

파일이 /home/user/.ssh/처음에 존재하지 않으면 해당 위치에 있을 수 없기 때문입니다.

일부 지침을 따르고 있지만 몇 비트를 건너뛰었을 수 있습니다. 디렉터리를 생성합니다:

mkdir $HOME/.ssh
chmod 700 $HOME/.ssh

그러나 id_rsa.pub거기에는 없을 것입니다. ssh-keygen원래 명령을 실행한 위치에 위치하게 됩니다 .

답변2

SSH 키를 생성하려는 사용자로 먼저 로그인했는지 확인하십시오(또는 명령에서 경로를 올바른 홈 디렉토리로 수정할 준비를 하십시오).

그런 다음 디렉토리를 생성하십시오.

mkdir ~/.ssh

cat위에 나열된 명령을 사용하여 파일을 만듭니다. 그런 다음 권한을 올바르게 설정하는 것을 잊지 마십시오.

chmod 400 ~/.ssh/authorized_keys

.ssh 디렉터리에도 적절한 권한이 있는지 확인할 수 있습니다.

답변3

나는 가능하다면 사람들에게 명령줄 도구를 사용하도록 항상 권장합니다 ssh-copy-id.

$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine

기본 SSH 공개 키를 원격 서버에 복사하려면 다음 명령을 실행하세요.

$ ssh-copy-id user@remoteserver

이 Q&A에서는 이 도구를 사용하는 방법에 대한 실용적이고 완전한 예를 보여줍니다.rsync와 SSH 연결을 공유할 수 없습니다.

답변4

Create 를 사용할 때 키의 파일 이름을 지정하는 경우에도 ssh-keygen이 작업이 실패할 수 있습니다 . 이름을 입력했는데 폴더 대신 my-ssh-file-name키가 기록되었습니다 . 파일 이름을 비워 두면 예상대로 기록됩니다./Users/MyUserName.ssh.ssh

관련 정보