![OpenSSH 레거시 하드웨어 액세스의 경우 -oHostkeyAlgorithms=+ssh-rsa가 명령줄에 포함된 경우에만 ssh-rsa가 기본 호스트 키 알고리즘으로 사용됩니다.](https://linux55.com/image/199816/OpenSSH%20%EB%A0%88%EA%B1%B0%EC%8B%9C%20%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4%20%EC%95%A1%EC%84%B8%EC%8A%A4%EC%9D%98%20%EA%B2%BD%EC%9A%B0%20-oHostkeyAlgorithms%3D%2Bssh-rsa%EA%B0%80%20%EB%AA%85%EB%A0%B9%EC%A4%84%EC%97%90%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EA%B2%BD%EC%9A%B0%EC%97%90%EB%A7%8C%20ssh-rsa%EA%B0%80%20%EA%B8%B0%EB%B3%B8%20%ED%98%B8%EC%8A%A4%ED%8A%B8%20%ED%82%A4%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9C%BC%EB%A1%9C%20%EC%82%AC%EC%9A%A9%EB%90%A9%EB%8B%88%EB%8B%A4..png)
클라우드 액세스가 꺼진 경우에만 로컬 네트워크인 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-dsa
RSA를 사용하든 DSA를 사용하든 서명에 SHA-1을 사용합니다. SHA-1은 현재 매우 약한 것으로 간주되어 실제 공격이 이루어졌습니다. 또한 OpenSSH의 DSA는 1024비트 키로 제한되어 있어 80비트(128비트가 최소 권장 수준)의 충분한 보안 수준을 제공하지 않습니다.
따라서 OpenSSH는 이러한 알고리즘이 안전하지 않고 사용 시 연결의 보안을 보장할 수 없기 때문에 이러한 알고리즘을 비활성화했습니다. 가능하다면 장치의 펌웨어를 적절한 패치가 적용된 최신 버전으로 업그레이드해야 합니다. 어쨌든 이 작업을 수행해야 합니다. SSH 서버가 오래된 경우 다른 보안 문제가 있을 수 있기 때문입니다.
실제로 업그레이드할 수 없고 계속 사용해야 하는 경우 ~/.ssh/config
IP가 이라고 가정하면 192.0.2.3
다음과 같이 작성할 수 있습니다.
Host 192.0.2.3
HostKeyAlgorithms +ssh-rsa
그런 다음 rsync가 이 IP를 통해 ssh를 호출하면 알고리즘을 올바르게 설정해야 합니다. IP 대신 호스트 이름을 사용하는 경우 Host
지시문에 해당 호스트 이름을 사용하십시오.