Linux 데스크탑을 다시 설치하고 있는데 SSH 로그인을 유지하려면 어떻게합니까?


15

오래 전 내가 사용하여 키 쌍을 생성 ssh-keygen내가 사용 ssh-copy-id수동으로 암호를 입력 할 필요없이 많은 개발 된 VM에 로그인 가능하게 할 수 있습니다. 또한 GitHub, GitLab 등에 공개 키를 업로드하여 git@대신 git 저장소를 인증했습니다 https://.

Linux 데스크탑을 다시 설치하고 이러한 모든 로그인이 계속 작동하도록하려면 어떻게해야합니까? 백업 및 복원이 ~/.ssh/충분합니까?


2
이것이 새로운 리눅스 환경을 설치할 때 파티션을 만들어야하는 이유 /중 하나입니다./home
olegario

4
@olegario 동의하지 않습니다. 나는 내 삶의 더 나은 부분을 위해 Linux를 사용했으며 현재 100 대 이상의 시스템을 관리하고 있지만 항상 /home번거롭고 제한된 용도 로 별도의 파티션을 찾았습니다 . 일부 사람들은 이것이 유용하다고 생각하지만 괜찮습니다. 그러나 그것이 OP 운영 상황에 대한 적절한 도움이라고 생각하지 않습니다.
marcelm 2016 년

5
어떤 장점이 파티션에 정말 없다는 이상 그냥 백업 및 복원 /home을 통해 tar당신이 별도의 물리적 디스크 당신 않는 한 행복하게을 닦아 주실 것이다 대부분의 OS의 설치와 위험 어쨌든 기존 파티션을 재사용 할 계획이 아니라면, 다른 방법 또는 설치 중에 제거하십시오.
R .. GitHub 중지 지원 얼음

1
다시 설치를 마치면 아무리 정확하게 수행하더라도 모든 것에 대해 하나의 키 페어 만 갖는 것이 좋습니다.
CVn

답변:


29

최소한 개인 키를 백업해야합니다. 모든 곳에서 공개 키를 교체하지 않고는 재생할 수 없습니다. 이것들은 보통 이름으로 시작합니다id_ 확장자로 하고 확장자는 없습니다.

이 명령으로 공개 키를 다시 생성 할 수 있습니다. ssh-keygen -y -f path/to/private/key . 기본값을 설정하지 않은 경우 사용자 구성 ( "config"라는 파일)도 유용 할 수 있습니다.

이러한 파일의 모든 것 일반적으로 ~ / 스푸핑에 수 있지만 먼저 확인!


28

들어 나가는 SSH 연결, 사용자의 키 쌍을 백업하는 것은 충분하다. 편의상 ~/.ssh디렉토리를 백업 하고 새 설치로 복원하면됩니다.

일반적으로 해당 디렉토리를 백업 및 복원하는 것으로 충분하지만 ~/.ssh/config또는의 사용자 정의 설정 /etc/ssh/ssh_config을 사용하거나 SSH 에이전트를 사용 하여 키를 다른 곳에 저장할 수 있습니다.ssh-add 임의 위치에서 발신 연결에 사용할 키를 선택할 수 있습니다 .

들어오는 SSH 연결 이있는 경우 에서에서 SSH 호스트 키 백업을 고려할 수도 있습니다 /etc/ssh/ssh_host_*. 백업하지 않으면 새 호스트 키가 자동으로 생성됩니다.sshd 새 설치시 처음 시작할 들어오는 SSH 연결에 "SSH 호스트 키 불일치, 누군가가 잘못한 일이있을 수 있습니다!"가 표시됩니다. 누군가 SSH 클라이언트에서 이전 호스트 키를 삭제하고 새 키를 명시 적으로 승인하지 않으면 오류 메시지가 표시되고 일반적으로 연결을 거부합니다.

Linux 데스크톱 시스템에 SSH 연결이 수신되지 않는 것처럼 들리므로 완전성을 위해서만 언급합니다. 그러나 서버 시스템에서 또는 중요한 SSH 기반 자동화를 설정 한 경우 변경된 호스트 키를 확인하는 것이 번거로울 수 있습니다.


1
+1 이것은 정답입니다. 다른 컴퓨터 에서 로그인하려면 일반적으로에 저장된 호스트 키를 유지해야합니다 /etc/ssh. 파일 이름은 ssh_host_*(다른 알고리즘에 대한 여러 파일)입니다.
rexkogitans 2016 년

2
에서 SSH 를 사용 하는 경우 어쨌든 호스트 키 를 회전시킬 수 있습니다 . 그러나 이것은 키 관리 상황에 따라 다릅니다 (예 : 키는 몇 년 전에 마지막으로 생성되었으며 /etc/ssh/ssh_host_ed25519_key아직 없거나 RSA 1024 키 또는 DSS 키가 있음).
Piskvor 건물 왼쪽
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.