bash : /home/user/.ssh/authorized_keys : 해당 파일 또는 디렉토리가 없습니다.


11

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

같은 질문, 왜 자신의 호스트에 키를 추가해야합니까?
Braiam

@Braiam 홈 디렉토리가 네트워크 드라이브에있을 때이 작업을 수행했습니다. 이를 통해이 드라이브를 마운트 한 모든 머신에 ssh 할 수있었습니다. 그래서 나는 내 호스트에게 쏘지 않았다.
FDinoff

답변:


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

경로의 요소가 /home/user/.ssh/존재하지 않습니다. 쉘 ( 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처음부터 명령 을 실행 한 곳이면 어디든지됩니다 .


6

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

그런 다음 디렉토리를 만드십시오.

mkdir ~/.ssh

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

chmod 400 ~/.ssh/authorized_keys

.ssh 디렉토리에 적절한 권한이 있는지 확인하고 싶을 수도 있습니다.


1
마지막 의견에서 알 수 있듯이, 네가 필요하다고 생각한다chmod 700 ~/.ssh
KCD

6

가능하면 항상 사람들에게 명령 줄 도구를 사용하도록 권장 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 연결을 공유 할 수 없습니다 .


0

로 키를 만들 때 ssh-keygen파일 이름을 지정하면 실패 할 수도 있습니다 . name을 입력 하고 폴더 대신 my-ssh-file-name키를 썼습니다 . 파일 이름을 비워두면 예상대로 기록됩니다 ./Users/MyUserName.ssh.ssh


또는 물론 사용자 지정 키를 .ssh 폴더에 직접 쓰도록 지정할 수 있습니다.-f ~/.ssh/custom-key-name
의회
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.