OpenBSD에서 특정 OpenSSH 키 비활성화: 해당 'sshd_config' 항목이 무시되는 이유와 'ssh-keygen -A'가 금지된 키를 생성하는 이유는 무엇입니까?

OpenBSD에서 특정 OpenSSH 키 비활성화: 해당 'sshd_config' 항목이 무시되는 이유와 'ssh-keygen -A'가 금지된 키를 생성하는 이유는 무엇입니까?

OpenBSD 6.9 서버에서 다음을 달성하려고 합니다.

  1. 모든 키 사용 금지( ssh-ed25519두 키 중 하나만 사용 금지)섬기는 사람그리고고객측면.
  2. ssh-keygen -A승인된 알고리즘에 의해서만 키를 생성하도록 제한하며 ssh-ed25519다른 것은 없습니다.

이를 달성하기 위해 내 파일에 다음 줄을 추가했습니다 sshd_config.

HostKey /etc/ssh/ssh_host_ed25519_key
CASignatureAlgorithms ssh-ed25519
HostbasedAcceptedKeyTypes ssh-ed25519
HostKeyAlgorithms ssh-ed25519
PubkeyAcceptedKeyTypes ssh-ed25519

또한 my 에 다음 줄을 추가했습니다 ssh_config.

CASignatureAlgorithms ssh-ed25519
HostbasedAcceptedKeyTypes ssh-ed25519
HostKeyAlgorithms ssh-ed25519
PubkeyAcceptedKeyTypes ssh-ed25519

승인된 키를 제외한 모든 키를 삭제했습니다.

SSH를 다시 ​​시작했습니다.

# rcctl restart sshd                                                                            
sshd(ok)
sshd(ok)

다음 명령을 실행하여 내 설정이 활용되는지 확인한 후:

# ssh -Q HostbasedAcceptedAlgorithms
# ssh -Q HostKeyAlgorithms
# ssh -Q PubkeyAcceptedAlgorithms

놀랍게도 그들은 모두 다음과 같은 결과를 얻었습니다.

ssh-ed25519
[email protected]
[email protected]
[email protected]
ssh-rsa
rsa-sha2-256
rsa-sha2-512
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

즉, 키 제한이 무시됩니다.

혹시라도 안전을 위해 서버를 다시 시작해도 별차이가 없습니다.

잠재적인 해결 방법은 인증된 파일을 제외한 모든 키 파일을 제거하는 것입니다. 그러나 init 스크립트에는 시스템을 재부팅할 때마다 sshd 데몬이 시작되기 전에 누락된 SSH 키를 모두 재생성하는 행이 /etc/rc있습니다 .ssh-keygen -A금지된 알고리즘을 포함한!

따라서 키를 제거해도 문제가 해결되지 않습니다.

추가 해결 방법으로 ssh-keygen -Ainit 스크립트에서 해당 행을 제거하거나 이를 내 사용자 정의 키 생성 알고리즘으로 바꿀 수 있지만 그렇게 하면 모든 것이 시작된 곳으로 돌아가게 됩니다. OpenBSD 팀이 새 버전의 /etc/rc. 해당 회선 제거를 자동화하고 많은 수의 서버에서 이러한 엉성한 해결 방법을 테스트하는 것은 어렵고 문제가 발생하면 대규모 네트워크 오류로 이어질 수 있습니다.

그래서 계속해서 조사를 했고 ssh-keygen. -A구성 파일 등을 통해 외부에서 스위치 동작을 제한하는 것이 불가능하다는 것을 알았습니다 . 키가 인증되었는지 여부에 대한 예비 테스트도 수행하지 않고 하드코딩된 배열의 알고리즘 목록에 따라 키를 생성합니다. 이를 방지하는 유일한 방법은 의 사용자 정의 포크를 편집, 재컴파일 및 사용하는 것입니다 ssh-keygen. 하지만 OpenSSH를 업데이트할 때마다 이 문제를 처리해야 합니다...

다른 운영 체제에서는 부분적인 솔루션을 찾았지만 OpenBSD에서는 그렇지 않았습니다.

누군가 나에게 적절한 해결책을 알려 주시겠습니까? 내 키 제한이 무시되는 이유 sshd_config와 금지된 알고리즘으로 키 생성을 중지하는 ssh_config방법은 무엇입니까 ?ssh-keygen -A

누군가 묻기 전에: 다른 모든 설정은 OpenSSH에 의해 두 구성 파일 모두에서 활용되므로 이러한 구성 파일은 실제로 로드되는 실제 파일입니다.

모든 유용한 답변에 감사드립니다.

관련 정보