서명 된 SSH 키 쌍과 같은 것이 있습니까? 원격 서버로 파일을 전송하고

애플리케이션에서 원격 서버로 파일을 전송하고 있으며 필요한 인증 방법은 SSH 키를 사용하는 것입니다.

그래서 ssh-keygen을 사용하여 키 페어를 만들고 원격 호스트의 authorized_keys 파일에 삽입하기 위해 공개 키를 제출했습니다. 그러나 IT 보안 팀은이를 위해 키 쌍을 생성하고 개인 키를 보내겠다고 거부했습니다. 이유 : “IT 보안 팀이 서명 할 SSH 키가 필요합니다. 이는 추적 및 책임에있어 주도권을 확보하기위한 것입니다.”

분명히, 나는 이것에 문제가 있습니다. 다른 사람이 개인 키를 생성했다는 것은 본인이 모르게 나를 가장 한 사람으로 만들 수 있음을 의미합니다. 나는이 주장을 반박 할 방법을 찾으려고 노력하고있다.

내가 구글에 할 수있는 한, 서명 한 사람을 추적하는 데 도움이되도록 키에 서명하는 알려진 방법이없는 것 같습니다. 공개 키를 제출했다는 사실은 본인이 키를 소유하고 해당 키를 사용하여 원격 서버에 사인 온하는 사람은 기본적으로 본인임을 나타냅니다. 서명은 어떻게 도움이 되나요? 그리고 어쨌든 그들은 어떻게 서명할까요?

내가 틀렸다면 누군가 나를 실마리로 보내주세요. 감사합니다!


이제 SSH 키에 서명 할 수있는 방법이 없다고 결정 했으므로 IT 보안에서 실제로 누가 로그인했는지 추적 할 수있는 방법을 보여줘야합니다. ). 내 자신의 서버에서 sshd의 LogLevel을 DEBUG로 설정했습니다. 이제 로그인하면 다음 스 니펫을 볼 수 있습니다.

Found matching DSA key: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

이것은 해시 값 인 것 같습니다. authorized_keys 파일에서 어떤 공개 키를 사용했는지 어떻게 다시 알 수 있습니까? 다른 줄이 있다는 것을 알고 있습니다.

debug1: matching key found: file /home/bofh/.ssh/authorized_keys2, line 1

그러나 파일 상단에 키를 삽입하고 원래 키를 아래로 밀면 줄 번호를 쉽게 변경할 수 있으므로 유용하지 않습니다.

감사!



답변

당신이 당신의 질문을 한 이후로, 우주는 변했습니다.

Openssh5.4는 그 이후의 종류의 인증서에 대한 지원을 추가했습니다. 자세한 내용은 http://www.openssh.org/txt/release-5.4 (및 매뉴얼 페이지) 의 릴리스 정보를 참조 하십시오. 또는 정말로 미치게보고 싶다면 PROTOCOL.certkeys 에서 자세한 내용을 확인하십시오.


답변

귀하의 질문을 읽을 때의 첫 인상은 IT 담당자가 SSH와 SSL을 혼합하여 (서명해야 함) SSL 서명이 실제로 어떻게 작동하는지 이해하지 못한다는 것입니다.

어쨌든 SSH 키에 서명 할 수있는 방법이 없습니다 (내가 아는).


답변

이 요청에 문제가 있습니다.

서명 된 파일을 서버에 전달하는 경우
최소한이 작업을 수행해야합니다.

  1. 자신을위한 키 페어를 만듭니다 (이 키를 호출)
    • 무언가를 보내려면
    • 당신은 먼저 그것을 암호화 my-key-private
    • 그런 다음이 암호화 된 파일을 서버에 업로드
    • 서버의 누군가가 이와 같은 프로세스를 취소해야합니다.
    • 그들은 my-key-pub파일을 해독하기 위해 당신 을 사용합니다.
    • 파일을 보낸 경우 암호 해독이 파일을 복구합니다.
    • 그렇지 않으면 사용 가능한 파일을 얻지 못합니다.
    • 효과적으로, 당신은 개인 키로 파일에 서명했습니다
    • 그들은 당신의 공개 키로 서명을 확인했습니다
    • 당신이 파일을 보냈다는 것을 확인함으로써 책임이 영향을받습니다.

이러한 작업을 수행하는 다른 방법이 있지만 다른
사람이 생성 한 키 페어를 얻는 것은 인증 체계로 쓸모가 없습니다 .
자신을 신뢰하는만큼 신뢰한다는 것이 의미합니다.


IT 부서에 문의 할 수있는 첫 번째 질문입니다. 책임이 IT에 관심이
있다면

  1. 그들은 당신이 그들에게 주어진 키 쌍을 공유 / 잃지 않도록 어떻게합니까? 과,
    • IT 부서에서 제공 한 암호와 IT의 키 쌍 개념이 어떻게 다른가?
      이 경우 키 쌍을 전혀 신경 쓰지 않는 이유는 무엇입니까?

답변

베어 키 대신 SSH 인증을 위해 X.509 인증서를 사용할 수없는 이유는 없습니다. 사실 OpenSSH가 이런 식으로 작동했다면 더 선호합니다! 그러나 OpenSSH의 증권 버전은 그렇지 않으며 요즘 지배적 인 구현입니다.

OpenSSH의 패치 버전이 떠 다니는 것을 보았으며 상용 SSH.com 구현도 X.509 인증을 지원하는 것으로 보입니다. 따라서 조직에서이 중 하나를 사용하는 경우 중앙 기관에서 키에 서명하도록 요구하면 많은 의미가 있습니다.

즉, 타사에서 개인 키를 생성하도록 요구할 이유가 없습니다! X.509 경로를 사용하는 경우 SSL 등에 사용되는 다른 X.509 인증서와 마찬가지로 키 쌍과 인증서 서명 요청을 생성해야합니다.