![scp를 사용하여 공개 키를 수동으로 설치하려고 합니다.](https://linux55.com/image/3832/scp%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EA%B3%B5%EA%B0%9C%20%ED%82%A4%EB%A5%BC%20%EC%88%98%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EC%84%A4%EC%B9%98%ED%95%98%EB%A0%A4%EA%B3%A0%20%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 튜토리얼을 따르고 있으며 잘 진행되고 있습니다. ssh로 접속하는데 문제가 없습니다. 그런 다음 개인 키와 공개 키를 만들었습니다. 이것은 첫 번째 질문으로 이어집니다. 키가 다음 위치에 저장되었다고 나옵니다.
귀하의 신원 정보는 /home/localuser/.ssh/id_dsa에 저장됩니다.
공개 키는 /home/localuser/.ssh/id_dsa.pub에 저장됩니다.
그런데 폴더를 보니 안보이네요..ssh폴더. 이는 보안상의 이유로 수행되었으며 숨겨야 합니까?
다음으로, 튜토리얼에서는 다음 명령을 사용하여 공개 키를 원격 시스템에 수동으로 복사하도록 지시합니다.
scp ~/.ssh/id_dsa.pub[이메일 보호됨]:.ssh/authorized_keys
명령을 실행하면 이런 응답을 받습니다.
ssh: 호스트 mywebpage.com 포트 22에 연결 중: 연결이 거부되었습니다. 연결이 끊어졌습니다.
그래서 SSH를 통해 처음 연결했을 때와 마찬가지로 다음을 추가했습니다.-p 2222끝에SCP주문하다. 그러면 다음과 같은 응답을 받습니다.
2222: 해당 파일이나 디렉터리가 없습니다.
나도 대문자로 써봤어-P 2222
내가 뭘 잘못했나요?
PS 저는 Linux Mint 15와 Cinnamon을 사용하고 있습니다.
편집하다
좋아요 퇴근 -p 2222
후 바로 추가됨 ssh
. 하지만 또 다른 문제에 부딪혔습니다.
그런 다음 파일을 전송했습니다. 하지만 전송하기 전에 디렉토리를 직접 만들어야 합니다. 이제 내 비밀번호 대신 내 비밀번호를 묻습니다. 그렇게 하지 않으므로 튜토리얼에서는 이러한 명령을 실행하라고 말합니다. chmod 700 ~/.ssh
& chmod 600 ~/.ssh/authorized_keys
.하지만 로그인하면 여전히 비밀번호 대신 비밀번호를 묻습니다.
왜 작동하지 않나요?
편집: 실행할 ssh
때 -v
다음을 언급 했습니다 public key
.
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/localusername/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/localusername/.ssh/id_rsa
debug1: Trying private key: /home/localusername/.ssh/id_ecdsa
debug1: Next authentication method: keyboard-interactive
로그인 전 내용이니 참고하세요.
답변1
-P 2222
scp
위치 매개변수 바로 앞에 추가
scp -P 2222 ~/.ssh/id_dsa.pub [email protected]:.ssh/authorized_keys
답변2
그런데 폴더를 살펴보니 .ssh 폴더가 보이지 않네요. 이는 보안상의 이유로 수행되었으며 숨겨야 합니까?
*nix에서는 이름이 a로 시작하는 디렉터리와 파일은 .
일반적으로 기본적으로 사용자에게 숨겨집니다. ls
다음을 수행하여 볼 수 있습니다 ls -a
.
-P 2222
명령줄에서 파일 앞에 넣어보세요 . 다른 목적을 위해서는 대문자 P, 즉 -P
소문자를 사용해야 합니다. p
바라보다 man scp
.
scp
안전한 데이터 전송을 위해서는 ssh
SSH 포트를 지정해야 합니다(비표준 포트에서 실행하고 있기 때문입니다).