개인 키를 사용하여 SSH를 통해 비밀번호를 묻습니다.

개인 키를 사용하여 SSH를 통해 비밀번호를 묻습니다.

이것은 공개 키 인증과 아무 관련이 없습니다. 저는 공개 키를 복사하고 이런 식으로 ssh를 사용하는 방법을 알고 있습니다. 개인키에 관한 내용입니다.

그래서 방금 방랑 개인 네트워크를 통해 연결된 2개의 가상 머신을 만들었습니다. 그 중 하나는 server01이고 다른 하나는 server02입니다.

"server01"에 사용자 "01"을 생성하고 "server02"에 사용자 "02"를 생성했습니다.

나는 ssh-keygen둘 다 가지고 있으므로 둘 다 id_rsa및 을 가지고 있습니다 id_rsa.pub.

01의 id_rsa내용(개인 키) 01key을 .

그런 다음 다음 명령을 사용하여 02에서 01로 ssh를 실행합니다. 비밀번호를 요청했습니다.ssh -i 01key [email protected]

왜? 비밀번호를 사용하지 않기 위해 개인 키 연결을 사용하는 것이 전부가 아닙니까? AWS에서 Linux 서버를 만들었고 특정 인스턴스에 대한 개인 키를 제공받았으며 ssh -I key암호를 묻지 않고도 해당 인스턴스에 접속할 수 있었는데, 제가 뭘 잘못하고 있는 걸까요?

01key 파일의 권한을 확인해 보니 600입니다.

편집: 모든 답변은 관련이 없습니다. 공개 키를 사용하여 SSH를 통해 연결하는 방법을 알고 있지만 그것은 내가 원하는 것이 아닙니다.

AWS에서 Linux 인스턴스를 생성하고 SSH 키 쌍을 생성한 후 해당 AWS 인스턴스에 연결하는 데 사용할 수 있는 프라이빗 키를 제공했습니다. 그게 내 뜻이야.

답변1

01의 id_rsa(개인 키) 내용을 02 컴퓨터의 01key라는 파일에 복사했습니다.

이는 공개 키 인증이 작동하는 방식이 아닙니다. user01을 복사해야 합니다.사람들필수 사항

~user01/.ssh/authorized_keys

서버 02에서. 다음 명령을 사용하면 이 작업을 더 쉽게 수행할 수 있습니다.

ssh-copy-id user01@server02

그런 다음 02에서 01로 SSH를 연결합니다.

반대로 이 설정을 사용하면 ssh를 사용할 수 있습니다.~에서server01~server02에는 비밀번호가 없습니다.

...다음 명령을 사용하십시오: ssh -I 01key[이메일 보호됨]

-I플래그는 PKCS#11 공유 라이브러리를 지정합니다. -iID를 지정할 수도 있습니다 . 어쨌든 꼭 필요한 것은 아닙니다.

ssh user01@server02

답변2

공개 키를 서버에 복사하려면 다음을 사용하십시오.

ssh-copy-id user2@server

복사됩니다(현재 서버에서):

/home/user1/.ssh/id_rsa.pub

(지정된 서버에) 파일을 입력하십시오:

/home/user2/.ssh/authorized_keys

공개 키를 추가하여 수동으로 수행할 수도 있습니다.

cat /home/user1/.ssh/id_pub.rsa | ssh user2@server "cat >> /home/user2/.ssh/authorized_keys"

  • cat /home/user1/.ssh/id_pub.rsauser1의 공개 키 내용을 파이프로 연결합니다.

  • ssh user2@server "[cmd]"user2로 지정된 서버에서 지정된 명령을 실행합니다.

  • cat >> /home/user2/.ssh/authorized_keys파이프라인 데이터를 가져와 파일에 추가

답변3

개인 키를 복사하면 안 됩니다. 그것은 id_rsa.pub당신이 원하는 것이고 일반적으로 당신은 그것을 넣습니다 ~02/.ssh/authorized_keys.

관련 정보