OpenSSH 레거시 하드웨어 액세스의 경우 -oHostkeyAlgorithms=+ssh-rsa가 명령줄에 포함된 경우에만 ssh-rsa가 기본 호스트 키 알고리즘으로 사용됩니다.

OpenSSH 레거시 하드웨어 액세스의 경우 -oHostkeyAlgorithms=+ssh-rsa가 명령줄에 포함된 경우에만 ssh-rsa가 기본 호스트 키 알고리즘으로 사용됩니다.

클라우드 액세스가 꺼진 경우에만 로컬 네트워크인 WD MyCloud [OS3]와 연결이 작동합니다. sshd_config에는 다음이 포함됩니다.

HostKeyAlgorithms=ssh-rsa,[email protected]
PubkeyAcceptedAlgorithms=+ssh-rsa,[email protected]

그러나 OpenSSH_8.8p1의 자세한 로그 보고서는 다음과 같습니다.

debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],rsa-sha2-512,rsa-sha2-256

...

debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: host key algorithm: (no match)
Unable to negotiate with 'hostIP' port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

로그는 -oHostkeyAlgorithms=+ssh-rsa가 명령줄에 제공된 경우에만 나타납니다.

debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],rsa-sha2-512,rsa-sha2-256,ssh-rsa

...

debug1: kex: algorithm: ecdh-sha2-nistp256
debug1: kex: host key algorithm: ssh-rsa
debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none

...

debug1: Next authentication method: password

연결에 성공했습니다. 궁극적으로 rSYNC에서 ssh를 호출해야 합니다. rSYNC는 ssh 옵션을 허용하지만 ssh 문서에서 구성 파일이 이를 처리하지 않는 이유를 설명하는 내용을 찾지 못했습니다.

답변1

먼저 이 옵션의 기능과 이를 지정해야 하는 이유를 이해해야 합니다. 기존 ssh-rsa알고리즘은 ssh-dsaRSA를 사용하든 DSA를 사용하든 서명에 SHA-1을 사용합니다. SHA-1은 현재 매우 약한 것으로 간주되어 실제 공격이 이루어졌습니다. 또한 OpenSSH의 DSA는 1024비트 키로 제한되어 있어 80비트(128비트가 최소 권장 수준)의 충분한 보안 수준을 제공하지 않습니다.

따라서 OpenSSH는 이러한 알고리즘이 안전하지 않고 사용 시 연결의 보안을 보장할 수 없기 때문에 이러한 알고리즘을 비활성화했습니다. 가능하다면 장치의 펌웨어를 적절한 패치가 적용된 최신 버전으로 업그레이드해야 합니다. 어쨌든 이 작업을 수행해야 합니다. SSH 서버가 오래된 경우 다른 보안 문제가 있을 수 있기 때문입니다.

실제로 업그레이드할 수 없고 계속 사용해야 하는 경우 ~/.ssh/configIP가 이라고 가정하면 192.0.2.3다음과 같이 작성할 수 있습니다.

Host 192.0.2.3
    HostKeyAlgorithms +ssh-rsa

그런 다음 rsync가 이 IP를 통해 ssh를 호출하면 알고리즘을 올바르게 설정해야 합니다. IP 대신 호스트 이름을 사용하는 경우 Host지시문에 해당 호스트 이름을 사용하십시오.

관련 정보