Amazon EC2에 Ubuntu 서버가 있으며 개발에 사용하며 오늘은 ~/.ssh/authorized_keys
파일에서 모든 것을 어리석게 정리했습니다 . 다행히도 SSH가 열려 있으므로 여전히 연결되어 있으며 파일을 수정할 수 있지만 키 파일을 다시 넣으려고하면 작동하지 않습니다. 여전히 로컬 컴퓨터의 서버에서 권한이 거부되었습니다.
authorized_keys
ssh-rsa로 SSH 키를 추가하고 ssh-rsa를 끄고 시도했습니다. 또한 SSH 키를 모두 한 줄로 만들려고 시도했지만 작동하지 않았습니다.
파일을 다시로드하는 것과 같은 다른 방법이 있습니까?
답변
서버에서 시작하는 내용 ( 개인 키)으로 파일을 저장 해서는 안됩니다 . 대신 공개 키를 파일에 넣어야 합니다.-----BEGIN RSA PRIVATE KEY-----
~/.ssh/authorized_keys
이 공개 키는 .pub
사용하여 생성 될 때 확장자를 ssh-keygen
가지며 그 내용은로 시작합니다 ssh-rsa AAAAB3
. 이진 형식은 이 질문 에 대한 답변에 설명되어 있습니다.
~/.ssh
서버에서 사용 권한은 700이어야합니다. 서버에서 파일 ~/.ssh/authorized_keys
의 모드는 600이어야합니다. 클라이언트 측에서 (개인) 키의 사용 권한은 600이어야합니다.
개인 키가 암호로 보호되지 않고 서버에 넣은 경우 새 암호를 생성하는 것이 좋습니다.
ssh-keygen -t rsa
아무도 서버에서 삭제 된 개인 키를 복구 할 수 없다고 확신하면이 단계를 건너 뛸 수 있습니다.
이것이 도움이되지 않으면 ssh
더 자세한 정보를위한 옵션으로 실행하십시오 .
ssh -vvv user@example.com
서버 측에서 /var/log/auth.log
세부 사항을 검토 할 수 있습니다 .
답변
원격 컴퓨터에 공개 키를 설치하는 다른 방법 authorized_keys
:
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
몇 가지 장점 :
-
ssh-copy-id
설치할 필요가 없습니다 . -
보증
mkdir
에 추가하기 전에 작동id_rsa.pub
에authorized_keys
.
답변
로그인 기반 인증이있는 경우 ssh-copy-id
공개 키를 원격 서버에 추가 하는 데 사용 하십시오.
ssh-copy-id user@host
답변
local> scp .ssh/id_dsa.pub remote.com:
local> ssh remote.com
remote> cat id_dsa.pub >> .ssh/authorized_keys
remote> rm id_dsa.pub
remote> exit
답변
가장 쉬운 방법은 복사하여 붙여 넣는 것입니다.
먼저 id_rsa.pub
이메일 주소로 끝날 때까지 시작 “ssh-rsa”를 포함 하여 로컬 공개 키의 내용을 보거나 복사하십시오 .
cat ~/.ssh/id_rsa.pub
그런 다음 authorized_keys
서버에서 편집 하고 클립 보드의 내용을 해당 파일의 다른 키 아래에 붙여 넣습니다.
nano ~/.ssh/authorized_keys
그리고 저장 Ctl+O
하고 파일 Ctl+X
을 종료하고 SSH 세션을 종료 한 후 exit
다시 로그인하여 작동하는지 확인하십시오. 암호를 요구하지 않으면 작동합니다.
답변
AWS 인스턴스에 관한 것이기 때문에이 문제에 기여할 수 있다고 생각했으며 모든 답변은 문제가 하드웨어 문제 인 것처럼 Linux 문제로만 취급합니다. 가장 먼저 이해해야 할 것은 EC2 인스턴스를 하드웨어로 취급해서는 안된다는 것입니다. 그것은 당신을 위해 더 많은 일을 만들어 낼 것입니다. 그것들을 휘발성으로 취급하십시오. 사람들이 AWS를 사용하는 것을 보는 가장 큰 장애물입니다. 인스턴스의 AMI를 만들고 필요한 키를 새 인스턴스에 주입하십시오. cloud-init가이를 처리합니다. 더 자세하게는 원본의 AMI에서 새 인스턴스를 생성 할 때 올바른 공개 키를 사용하기 만하면됩니다. 승인 된 답변의 의견과 같이 자체 펍 및 pem 파일의 키 페어를 생성하려는 경우 AWS는 EC2에서 사용하기 위해 퍼블릭 키를 업로드하는 옵션을 제공합니다.
답변
공개 키를 저장 한 후 개인 키를 PC의 디렉토리 및 파일에 저장해야합니다. 퍼티의 ssh의 인증 섹션에서 데스크탑에 저장 한 개인 키 파일을 가리켜 야합니다. 작동합니다. 그것은 나를 위해 작동합니다.