
H1과 H2라는 두 컴퓨터에 계정이 있습니다. H1에 SSH 키를 생성하고 S1에 설치했습니다. 이제 H1에서 S1으로 SSH를 통해 연결할 수 있습니다. H2에서도 똑같이 하고 싶어요. H1에서 생성된 SSH 키를 H2에 어떻게 설치하나요?
답변1
편집됨:두 컴퓨터를 모두 소유하고 있는 경우 개인 키를 공유할 수 있습니다. 하지만이 솔루션은 안전하지 않습니다노트북을 도난당했거나 귀하가 소유하지 않은 기계의 경우.
동일한 개인 키를 사용하여 H2에서 S1으로 로그인하려는 경우 개인 키를 H1에서 H2로 복사할 수 있습니다. H1에 있을 때 다음 명령을 수행하십시오.
H1$ ssh H2 mkdir ~/.ssh
H1$ scp ~/.ssh/id_rsa ~/.ssh/id_dsa H2:~/.ssh/
경고! 이렇게 하면 H2에 있던 모든 개인 키가 삭제되고 교체됩니다.
더 좋은 방법H2에서 새로운 개인 키를 생성하는 것입니다(ssh-keygen
) 다음을 사용하여 S1에 공개 부분을 설치합니다.ssh-copy-id
유틸리티 이보다 안전한 경우에는 두 개의 키 세트가 있습니다. 하나는 H1-S1 로그인용이고 두 번째는 H2-S1 로그인용입니다. S1에는 두 개의 공개 키가 승인됩니다. 그리고 둘 중 하나 또는 둘 다를 취소할 수 있습니다(예: 노트북을 도난당했거나 컴퓨터 소유자가 계정을 비활성화하고 모든 파일을 재사용하기로 결정한 경우).
답변2
사용ssh-copy-id
개요
ssh-copy-id [-i [identity_file]] [user@]컴퓨터
설명
ssh-copy-id는 ssh를 사용하여 원격 시스템에 로그인하고 표시된 ID 파일을 해당 시스템의 ~/.ssh/authorized_keys 파일에 추가하는 스크립트입니다.
답변3
두 개의 개인 키 사용
동일한 프로세스를 사용하여 H2를 설정합니다(그러나~ 아니다동일한 개인 키) H1을 설정할 때와 마찬가지로:
- 다른 컴퓨터에서 개인 키를 복사할 이유가 전혀 없습니다. H2에서 아직 새로운 개인 키를 생성하지 않았다면 지금 생성하세요. 또한 해당 공개 키를 생성합니다. H2 터미널에서는
유형:ssh-keygen -t rsa
- H2의 공개 키를 서버에 복사하세요. H2 터미널에서는
유형:ssh-copy-id [email protected]
(단, S1과 S1의 호스트 이름에는 실제 사용자 이름을 사용하고 나중에 S1에서 비밀번호를 요청할 때 비밀번호를 입력하세요.)
그러면 워크스테이션의 공개 키가 ~/.ssh/authorized_keys
서버에 있는 해당 사용자의 파일에 설치됩니다.
- 3단계는 없습니다. 이제부터는 H2에서 S1에 로그인할 수 있고, H1에서도 S1에 로그인할 수 있습니다.
세부
나는 당신이 정말로 요구하는 것이 다음과 같다고 생각합니다.
- 서버("S1")가 있습니다.
- 개인 노트북("H1")에서 서버에 로그인합니다.
- 또한 내 워크스테이션("H2")에서 내 서버에 로그인하고 싶습니다.
그렇게 하는 올바른 방법은 무엇입니까?
- 두 곳 모두에서 동일한 비밀번호로 간단히 로그인할 수 있을 것 같습니다. 그것은 올바른 방법이 될 수 없습니다. 모두가 공개 키 인증이 비밀번호보다 훨씬 낫다고 말하기 때문입니다.(ㅏ)
- 내 노트북에서 내 워크스테이션으로 개인 키를 간단히 복사할 수 있을 것 같습니다. 그것은 올바른 방법이 될 수 없습니다. 모든 사람들이 개인 키가 클라이언트 시스템을 떠나서는 안 된다고 말하기 때문입니다.
사람들은 서버의 하나의 계정에 단일 사용자 이름과 단일 승인된 비밀번호가 있다는 사실을 머릿속에 새겼습니다.
SSH와 같은 공개 키 시스템은 비밀번호 시스템보다 낫습니다. 서버의 하나의 계정은 단일 사용자 이름을 가지며승인된 공개 키 수 제한 없음, 모두 ~/.ssh/authorized_keys
파일에 나열되어 있습니다.
(자세한 내용은).