source

SSH 키를 제거하려면 어떻게 해야 합니까?

itover 2023. 6. 26. 22:33
반응형

SSH 키를 제거하려면 어떻게 해야 합니까?

현재 서버에 이전 SSH 키가 업로드되어 있습니다.문제는 내가 내 것을 잃어버렸다는 것입니다.~/.ssh "디터리원" ())id_rsa그리고.id_rsa.pub파일).

따라서 서버에서 직접 기존 SSH 키를 제거하고 새로운 키를 업로드하고자 합니다.

다음 명령을 시도했지만 실패했습니다.

$> ssh-add -D

Enter image description here

SSH 키를 완전히 제거할 수 있는 방법이 있습니까?

대 버 두 있 다 니 습 이 상 개 보 한 고 그 가 서 ▁for ▁reports ▁note ▁bug 에 다 ▁two ▁at ▁are ▁there ▁least ▁that 니 있 대 습 한 버 이ssh-add -d/-D 제거 안 함:

정확한 문제는 다음과 같습니다.

ssh-add -d/-Dgnome-keyring에서 수동으로 추가한 만 삭제합니다.
자동으로 추가된 키를 삭제할 수 없습니다.
이것은 원래의 버그이고, 여전히 존재합니다.

예를 들어, 두 개의 서로 다른 GitHub 계정과 연결된 두 개의 서로 다른 자동 로드된 ssh ID가 있다면, 예를 들어, 직장용과 집용으로, 이 두 계정을 전환할 방법이 없습니다.GitHub은 일치하는 첫 번째 사용자를 선택하므로 작업 프로젝트에 업로드할 방법 없이 항상 GitHub에 '가정' 사용자로 나타납니다.

허용ssh-add -d자동으로 로드된 키에 적용(및ssh-add -t X자동으로 로드된 키의 수명을 변경합니다.)는 대부분의 사용자가 예상하는 동작을 복원합니다.


보다 정확하게는, 문제에 대해:

은 범은입니다.gpg-keyring-daemon:

  • 암호화된 ssh 키의 암호 구문을 입력할 수 있는 예쁜 상자를 팝업할 수 있도록 ssh-agent의 일반적인 작동을 무시합니다.
  • 그리고 그것은 당신의 발을 통과합니다..ssh검색된 모든 키를 에이전트에 자동으로 추가합니다.
  • 그리고 그것은 당신이 그 열쇠들을 삭제할 수 없게 합니다.

우리가 이걸 어떻게 싫어하죠?인생은 너무 짧습니다.

호스트에 연결할 때 최신 ssh 클라이언트가 자동으로 ssh-agent의 모든 키를 시도하기 때문에 오류가 더 복잡해집니다.
너무 많으면 서버가 연결을 거부합니다.
그리고 gnome-key-ring-daemon은 SSH-에이전트가 보유할 키의 수를 스스로 결정하고 자동으로 로드했기 때문에 삭제할 수 없습니다.

이 버그는 이틀 전(2014년 8월 21일)에도 Ubuntu 14.04.4에서 확인되었습니다.


가능한 해결 방법:

  • ssh-add -D수동으로 추가한 키를 모두 삭제합니다.이렇게 하면 자동으로 추가된 키도 잠깁니다. 그러나 다음과 같은 이유로 많이 사용되지 않습니다.gnome-keyring당신이 그것들을 잠금 해제하려고 할 때 어쨌든 당신에게 요청할 것입니다.git push.
  • 음로이다니합으로 합니다.~/.ssh식별할 키 파일을 제외한 모든 키 파일을 백업이라는 별도의 폴더로 이동합니다.필요한 경우 해마를 열고 거기서 키를 삭제할 수도 있습니다.
  • 은 이제당할수것다입니있을은신▁do다▁to를 할 수 거예요.git push문제없이

다른 해결 방법:

당신이 정말로 하고 싶은 것은 꺼지는 것입니다.gpg-keyring-daemon다같이.
에 가다System --> Preferences --> Startup Applications을 취소합니다SSH Key Agent (Gnome Keyring SSH Agent)상자를 찾으려면 아래로 스크롤해야 합니다.

여전히 당신은 받을 것입니다.ssh-agent이제서야 정상적으로 작동합니다. 키를 자동으로 로드하지 않고, ssh-add를 실행하여 키를 추가하고, 키를 삭제하려면 할 수 있습니다.상상해 보세요.

의견은 실제로 다음을 시사합니다.

해결책은 유지하는 것입니다.gnome-keyring-manager프로그램 파일의 실행 권한을 제거하여 마침내 달성하는 것이 이상하게 어려웠습니다.


Ryan Lue댓글에 또 다른 흥미로운 코너 사례추가했습니다.

이것이 누구에게나 도움이 되는 경우:저는 심지어 삭제도 시도했습니다.id_rsa그리고.id_rsa.pub파일들은 다 같이 있고, 키는 여전히 나타나고 있었습니다.

파일에 파일을 저장하고 있었습니다. 거기서 수동으로 삭제해야 했습니다.

여기와 같이추가경우가 해당됩니다.

SSH 관련 작업을 수행하려고 하면 다음 오류가 발생합니다.

$ git fetch
no such identity: <ssh key path>: No such file or directory

다음을 사용하여 SSH 에이전트에서 누락된 SSH 키를 제거할 수 있습니다.

$ eval `ssh-agent -s`  # start ssh agent
$ ssh-add -D <ssh key path>  # delete ssh key

folder.sssh가 시스템에 있는지 확인합니다.

  1. 폴더로 이동 --> /Users/administrator/.ssh/id_ed25519.pub

그렇지 않다면,

  1. 터미널을 엽니다.

터미널에 붙여넣기

  1. 사용자 → ssh -T git@gitlab.com 확인

기존 SSH 키 제거

  1. 키 → 존 SSH 키 → 제rm ~/.ssh/github_rsa.pub

새로 만들기

  1. 키 → 새 SSH 키 →ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

  2. 공용 키가 "/Users/administrator/.ssh/id_ed25519.pub"에 저장되었습니다.

  3. 공용 키 저장 경로를 엽니다.

  4. SSH복사 → GitLab 계정 → 설정 → SSH 키 → 키 추가

  5. 터미널 →에서 다시 테스트합니다.ssh -T git@gitlab.com

를 제거하기 에 ID를 시작해야 .ssh-agent

eval `ssh-agent -s` 

모든 ID 제거용

ssh-add -D

특정 ID를 제거하려면

ssh-add -d ~/.ssh/sshkeynamewithout.pub

사용 가능한 ID 목록을 찾으려면 이 명령을 사용합니다.

ssh-add -l

내가 오해하는 게 아니라면, 당신은 당신의 것을 잃었습니다..ssh로컬 컴퓨터에 있는 개인 키가 들어 있는 디렉터리이므로 서버에 있고 키 기반 로그인을 허용한 공용 키를 제거할 수 있습니다.

이경우, 이은다파저일다에 됩니다..ssh/authorized_keys파일을 서버의 홈 디렉토리에 저장합니다.텍스트 편집기를 사용하여 이 파일을 편집하고 식별할 수 있는 경우 관련 행을 삭제할 수 있습니다(단, 유일한 항목인 경우 더 쉽습니다!).

이 키가 서버에 액세스하는 유일한 방법이 아니길 바라며, 로그인하고 파일을 편집할 수 있는 다른 방법이 있기를 바랍니다.으로 새 를 수으로키추수있에 할 수 .authorised_keys을 합니다.ssh-copy-id쪽이든에 대한 쪽 이 든 서 ID 액 방 있 합 이 야 어 니 다 법 스 세 는 또 다 른 계 버 인 의 비 대 설 필 정 밀 호 에 이해 정authorized_keys파일을 저장합니다.

ssh-add에서는 SSH 에이전트에 ID 관리를 로컬로 처리하는 ID를 추가하고 "에이전트에 대한 연결은 SSH 원격 로그인을 통해 전달되므로 사용자는 네트워크 어디에서나 ID가 부여한 권한을 안전한 방식으로 사용할 수 있습니다."(man 페이지) 따라서 이 경우에는 사용자가 원하는 것이 아니라고 생각합니다.SSH 로그인을 통해 해당 서버에 액세스할 수 없는 경우 공용 키를 서버로 가져올 수 있는 방법은 없습니다.

나는 내 Unity에서 "비밀번호 및 키" 응용 프로그램을 열고 보안 키 -> OpenSSH 키에서 원하지 않는 키를 제거했습니다. 그리고 그것들은 ssh-agent-l에서도 자동으로 제거되었습니다.

Ubuntu 19.04(Discodingo)에 이 버그가 여전히 존재한다는 것을 확인할 수 있습니다.VonC가 제안한 해결 방법은 완벽하게 작동하여 내 버전에 대해 요약합니다.

  • 왼쪽 상단 모서리의 활동 탭 클릭
  • 검색 상자가 나타나면 "시작 응용 프로그램"을 입력합니다.
  • "Startup Applications" 아이콘 클릭
  • 팝업되는 상자에서 gnome 키 링 관리자 응용 프로그램(GUI에서 정확한 이름을 기억할 수 없지만 충분히 고유함)을 선택하고 제거합니다.

저는 그음에를 .ssh-add -D에 그고재 부팅후리시다ssh-add -l요원은 신원이 없다고 하더군요나는 내가 여전히 가지고 있다는 것을 확인했습니다.ssh-agent과 함께 ps aux | grep agent 저는 가장 했습니다.ssh-add ~/.ssh/id_ecdsa 것이 그리고 모든 것이 좋았습니다!

가장 저장소를 할 수 , 하는 다른 하는 에는 RSA 키를 사용하여 할 수 있습니다.export GIT_SSH_COMMAND="ssh -i /home/me/.ssh/id_rsa.pub"은 VonC에게 .버그와 해결책을 지적한 것은 VonC에게 공로가 있습니다.

저를 위한 솔루션(openSUSE Leap 42.3, KDE)은 폴더 이름을 변경하는 것이었습니다.~/.gnupg캐시된 키와 프로필이 들어 있는 것으로 보입니다.

KDE 로그아웃/로그온 후 ssh-add/agent가 다시 실행되고 폴더가 처음부터 생성되지만 이전 키는 모두 사라집니다.

다른 방법으로는 성공하지 못했습니다.

Ubuntu에서 현재 SSH 에이전트가 이미 일부 키를 로드했다면 제거할 방법이 없습니다.

는 SSH-에이전트를 .eval "$(ssh-agent -k)"

다음 "ssh-agent"를 사용하여 새 합니다.eval "$(ssh-agent -s)"

자,은 좋요다, 이과음같기본키를수있다니습추가할과 같은 선호하는 할 수 .ssh-add ~/.ssh/id_preferred_key

언급URL : https://stackoverflow.com/questions/25464930/how-can-i-remove-an-ssh-key

반응형