이것은 공개 키 인증과 아무 관련이 없습니다. 저는 공개 키를 복사하고 이런 식으로 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 공유 라이브러리를 지정합니다. -i
ID를 지정할 수도 있습니다 . 어쨌든 꼭 필요한 것은 아닙니다.
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.rsa
user1의 공개 키 내용을 파이프로 연결합니다.ssh user2@server "[cmd]"
user2로 지정된 서버에서 지정된 명령을 실행합니다.cat >> /home/user2/.ssh/authorized_keys
파이프라인 데이터를 가져와 파일에 추가
답변3
개인 키를 복사하면 안 됩니다. 그것은 id_rsa.pub
당신이 원하는 것이고 일반적으로 당신은 그것을 넣습니다 ~02/.ssh/authorized_keys
.