MacOS에서 ssh를 사용할 때 ssh 에이전트에 키를 추가해야 하는 이유가 오랫동안 궁금했는데 ssh-add
, Fedora에서 ssh를 사용할 때는 그렇지 않습니다. 에이전트가 내 ~/.ssh/ 디렉터리에서 키를 자동으로 로드하는 것 같습니다. 이 질문은 가끔씩 나오며, 저는 보통 새로운 것을 발견하고 호기심이 충족될 때까지 조사를 합니다.
얼마 전 저는 Fedora 서버를 로컬로 설정했는데 ssh-add
그것도 사용해야 한다는 것을 깨달았습니다. 그때 내가 연결하는 유일한 호스트(예: github)의 ID 파일을 지정하는 구성 파일을 만들기로 결정했습니다.
얼마 후 랙 공간에 설치된 원격 서버에서 동일한 동작을 보았습니다. 이 서버는 Fedora도 사용합니다. 그러나 해당 서버에서는 ssh를 사용하여 github에 연결할 때마다 ssh 에이전트를 시작하고 수동으로 키를 추가해야 합니다. 어떤 이유로 저는 거기에 구성 파일을 설정하지 않았으며 오늘은 모든 것을 파악하고 싶은 또 다른 순간을 맞이했습니다.
오늘은 가장 긴 연구 세션 중 하나였던 것 같아요. 이전 연구에서 나는 Gnome, 더 정확하게는 X가 ssh 에이전트를 시작하고 여기에 키를 추가한다는 것을 배웠습니다. 당시의 호기심을 충족시키기에는 충분했지만, 오늘은 그것이 어떻게 이루어지는지, MacOS에서는 왜 그렇게 하지 않는지 정말 알고 싶습니다.
나는 Xsession 스크립트와 그것이 실행될 때 포함된 스크립트를 읽는 데 시간을 보냈고 일부 소스에서 읽은 내용을 확인했습니다. X는 ssh 에이전트를 시작하고 gnome 세션 스크립트를 여기에 전달합니다. 그래서 기본적으로 X가 SSH 에이전트를 시작하는 것에 대해 앞서 배운 내용을 확인했습니다. 이것이 X를 실행하지 않기 때문에 Rackspace 서버에서 에이전트를 수동으로 시작해야 하는 이유입니다. 로컬 Fedora 서버가 시작 시 SSH 에이전트를 실행하도록 자체적으로 설정하는 것 같지만 이에 대해서는 조사하지 않았습니다.
그러나 Fedora ssh 에이전트가 기존 ssh 키를 얻는 반면 MacOS 에이전트는 어떻게 얻는지 잘 모르겠습니다. 두 운영 체제 모두 OpenSSH의 동일한 SSH 에이전트를 사용하고 있다고 가정하지만 현재는 그렇지 않다고 생각합니다.
이 질문을 읽어보세요필요에 따라 ssh-agent에 SSH 키를 추가합니다.내가 본 유일한 대답은 프록시가 프록시에 키를 미리 추가하기 위해 멋진 작업을 수행할 수 있다는 것입니다. 또한 데스크탑 환경 구현에는 특정 지갑에 키가 있을 수 있다는 점을 구체적으로 언급합니다. 이로 인해 gnome에는 자체 프록시 구현이 있다고 생각됩니다.
이 시점에서 저는 MacOS에서 로컬 Fedora 서버용 키를 키체인에 추가했다는 점을 괄호 안에 언급하고 싶습니다. 그러면 키가 효과적으로 ssh 에이전트에 로드되고 잠금이 해제됩니다. 얼마 전에 이 작업을 했는데 Fedora가 일종의 키체인에 키를 포함하고 그런 식으로 로드하는 비슷한 작업을 하고 있다고 생각하게 되었습니다. 그래서 오늘 저는 Fedora의 키체인 유형을 조사하기 시작했습니다. 드디어 gnome-keyring에 대해 알게 되었습니다. 또한 위에 링크한 질문에는 gnome-keyring-daemon과 ssh-agent를 시작하는 방법이 언급되어 있습니다.
오늘의 연구로 돌아가서 나는 그놈 소스 코드에 대한 연구를 시작했습니다. 특히 gnome-keyring 프로젝트입니다. 프로젝트에 키에 대한 사전 로드 기능이 있는 것으로 보이는 ssh-agent가 있습니다(https://gitlab.gnome.org/GNOME/gnome-keyring/-/tree/master/daemon/ssh-agent). 이것이 내 질문이 나오는 곳입니다. gnome에는 ssh-agent
Fedora가 사용하는 자체 구현이 있습니까? 이 경우 Fedora 시스템의 OpenSSH 구현은 어떻게 되나요?
고쳐 쓰다: 어제 이 질문을 게시한 후, 제가 사용하는 Fedora 시스템(서버가 아닌 데스크탑)이 실제로 Wayland를 사용하고 있다는 사실을 알게 되었습니다. 설정의 "정보" 섹션에서 윈도우 시스템이 이전에 Wayland로 설정되었음을 알 수 있지만 이것이 X가 사용되지 않는다는 의미인지는 확실하지 않습니다. 이것은 많은 사람들에게 분명할 수 있지만 나는 이것에 대한 전문가가 아닙니다. Wayland는 또한 X처럼 ssh-agent를 시작하지 않는 것 같습니다. 대신 실제로 처음으로 필요할 때 요청 시 시작합니다(Gnome에서 기본 ssh-agent 시간 초과를 설정하는 방법).
내 질문이 다소 무의미할 수 있다는 의견도 댓글에 언급되어 있지만, 저는 전문가가 아니고 Fedora와 ssh-agent의 내부 작동 방식을 실제로 알고 이해하고 있는 사람으로부터 검증을 받고 싶습니다. 내가 틀렸을 수도 있고 완전한 발견이 아닐 수도 있다는 사실을 받아들이고 싶지 않습니다.
답변1
내가 찾고 있던 확인서를 다음에서 찾았습니다.Gnome Keyring SSH 에이전트 위키 페이지. 특히 ssh-agent
포함된 파일이 해당 파일이 있는 디렉터리의 파일을 gnome-keyring
자동으로 로드한다고 명시되어 있습니다.~/.ssh
.pub
키링에 대해 더 자세히 알고 싶다면 이 자료가 훌륭한 자료입니다.이 IT 다음 기사.