ssh-keygen을 사용하여 개인 공개 키를 생성하고 인증하는 방법은 무엇입니까?


19

Sever 1에서 공개-개인 키를 생성하여 기본 위치가 아닌 위치에 저장하고 싶습니다.

그런 다음 공개 키를 서버 2에 저장하십시오. 다시 기본 위치가 아닙니다.

그런 다음이 키를 인증 된 키로 만드십시오.

그러나 폴더 authorized_keys에서 파일을 찾을 수 없습니다 ~/.ssh. 승인하려면 어떻게해야합니까?


1
ssh-keygen은 키 생성 명령입니다. 생성하는 동안 키 파일의 위치를 ​​묻습니다. 파일 인증 키가 없으면 파일 인증 키를 만들어야한다고 생각합니다.
sagarchalise

답변:


22
  1. 를 실행하십시오 ssh-keygen -f filename.
  2. 운영 scp filename username@server:filename-on-server
  3. 서버에 로그인하여 실행 cat filename-on-server >> ~/.ssh/authorized_keys

2 단계와 3 단계를로 바꿀 수도 있습니다 ssh-copy-id -i filename username@server.


오류가 발생했습니다 : 너무 많은 인수
IgorGanapolsky

어느 단계에서 @Igor?
Mikel

1
filename 대신에 filename.pub를 추가하지 않아야합니다 (개인 키가 될까요?)
Samuel

1

ssh-keygen명령을 사용하십시오 . ssh를 원하는 서버에서 공개 키를 file에 저장하십시오 ~/.ssh/authorized_keys. 집 안에 .ssh 디렉토리가 없다면 (~) 조심스럽게 만드십시오 (또한 보안상의 이유로 sshd가 까다로워 다른 사용자가 해당 파일 / 디렉토리를 읽을 수없는 것 같습니다) .ssh 디렉토리의 chmod 700 및 그 파일의 chmod 600).

ssh ( "client")에서 ssh하려는 시스템에서 개인 키를 사용하여 서버에 ssh 할 수 있습니다. 어디서나 저장할 수 있으며 -issh 스위치를 사용하여 사용할 공개 키를 제공 할 수 있습니다. "기본 위치에 저장하지 않음"이라고 말했기 때문에 이것을 작성합니다. 기본 위치는 file id_dsa.ssh 디렉토리 내부 (DSA 키의 경우)입니다. 그러면 -i키가 자동으로 선택되므로 키를 지정하기 위해 스위치가 필요하지 않습니다 .


1

이미 키를 만든 것처럼 들립니다. 그렇지 않은 경우 ssh-keygen을 실행하고 기본값을 그대로 사용하십시오. authorized_keys 파일을 직접 작성하십시오.touch authorized_keys

개인 키를 비표준 위치에 보관할 때는 반드시 -i를 사용하십시오 : ssh -i /path/to/privatekey user@host

ssh-keygen에 대한 좋은 기사와 ssh 로그인을 단순화하기 위해 authorized_keys 사용하기 :

http://www.debuntu.org/secure-your-ssh-server-with-publicprivate-key-authentification/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.