SSH 호스트 키를 다시 만들 때 '호스트 키를로드 할 수 없습니다'오류


13

ssh-server 호스트 키를 다시 작성하려고합니다.

적어도 두 가지 방법이 있습니다.

  • dpkg-reconfigure로

    dpkg-reconfigure openssh-server
    

    이것은 잘 작동하지만 키 길이를 줄 수는 없습니다. 예를 들어 RSA 키에 4096이 필요합니다.

  • ssh-keygen을 사용하여 수동으로

    sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
    

    키가 다시 생성되지만 서버를 다시 시작한 후 다음과 같은 오류 메시지가 나타납니다 .

    could not load host key: /etc/ssh/ssh_host_rsa_key
    

    그래서 sshd_config 파일을 확인했습니다.

    HostKey /etc/ssh/ssh_host_rsa_key
    

    완벽하게 일치합니다. 그래서 저는 모든 열쇠에 대한 소유자와 권리를 확인했습니다

    -rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
    

    모든 키를 제거하고로 키를 다시 만들면 dpkg-reconfigure openssh-server키가 더 작고 위와 같은 파일 권한을 갖습니다.

질문 :dpkg-reconfigure RSA에 keylengh 4096과 함께 사용하려면 어떻게 해야합니까?


문제에 대한 자세한 내용을 보려면 sshd명령 줄 ( sudo sshd -d) 에서 디버그 모드로 실행 하고 출력을 게시하십시오.
David Foerster

@DavidFoerster 좋은 제안처럼 보입니다. 키를 일시적으로 이동하고 암호로 새 키를 생성하고 중지했다가 다시 시작하여 문제를 재현하려고 시도했습니다 ... OP의 오류 메시지가 표시되지 않습니다. 이것이 livewire@za20:/etc/ssh$ sudo sshd -d출력 결과입니다. sshd re-exec requires execution with an absolute path그렇지 않으면 내 대답에 예를 포함했을 것입니다. (
LiveWireBT

죄송합니다 sudo /usr/sbin/sshd -d. 당신이 얻은 오류는 문자 그대로 의미가 있습니다 (그러나 명확하지는 않지만).
David Foerster

허용 된 답변으로 문제가 해결되었지만 여전히 첫 번째 게시물의 마지막 질문에 대해 궁금합니다. 키 dpkg-reconfigure길이 4096으로 어떻게 사용할 수 있습니까? 이 정보를 포함하는 구성 파일이 있습니까? debconf 데이터베이스 /var/cache/debconf/를 살펴 보았지만 키 길이와 비슷한 것을 찾지 못했습니다.
ph0t0nix

답변:


8
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa

열쇠를 다시 만듭니다. 그러나 서버를 다시 시작한 후에는

could not load host key: /etc/ssh/ssh_host_rsa_key

비밀번호를 사용하여 호스트 키를 생성합니다. 해당 호스트 키를 잠금 해제하기위한 사용자 정의가 있습니까? 그렇지 않다면 이것이 예상되는 것입니다. 서비스를 관리하는 스크립트가 시작되고 호스트 키를로드하려고 시도하고 실패합니다. 내가 아는 한 비밀번호로 보호되는 호스트 키를 만들면 안됩니다.

SSH 서버 강화에 관심이 있다면 https://stribika.github.io/2015/01/04/secure-secure-shell.html 해당 문서에서 호스트 키를 만드는 데 사용되는 명령은 다음과 같습니다.

ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

그러나 변경하기 전에 전체 문서를 읽어야합니다.


공장. myverylongpasswordhere를 제거하십시오. 그건 그렇고 : 정말 좋은 기사를 읽을 수 있습니다. 사실 openssh는 필자의 경우 우분투-repro에서 왔으며 KexAlgorithms curve25519-sha256 @ libssh.org, diffie-hellman-group-exchange-sha256을 지원하지 않았습니다
Emil Sommer

20

위의 답변 중 어느 것도 나를 위해 일하지 않았습니다. 다음을 수행하여 우분투 시스템을 수정했습니다.

/usr/bin/ssh-keygen -A

1
이. 이것은 "-A"플래그에 대한 ssh-keygen 맨 페이지에서 확인한 실제 답변입니다. 호스트 키가 존재하지 않는 각 키 유형 (rsa1, rsa, dsa, ecdsa 및 ed25519)에 대해 기본 키 파일 경로가있는 호스트 키, 빈 암호 문구, 키 유형의 기본 비트 및 기본 주석. 시스템 관리 스크립트에서 새 호스트 키를 생성하는 데 사용됩니다.
BoomShadow

1

간단히 실행하십시오.

ssh-keygen -t rsa -b 4096

ssh-keygen SSH 키를 생성합니다.

  • -t 생성 할 키 유형을 지정합니다.
  • -b 키의 비트 수를 지정합니다.

자세한 내용은 이 페이지 를 참조하십시오.


이것은 답이 아닙니다. 내 질문을 참조하십시오. 이미 호스트 키를로드 할 수없는 결과와 함께이 작업을 모두 수행했습니다.
Emil Sommer

3
정확히 @EmilSommer 아니, 대답은, 단지 (오류 메시지가 무엇을 뜻을 얻을 이유)에 대한 설명이 없습니다.
LiveWireBT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.