SSH 키를 제거하려면 어떻게 해야 합니까?
현재 서버에 이전 SSH 키가 업로드되어 있습니다.문제는 내가 내 것을 잃어버렸다는 것입니다.~/.ssh "디터리원" ())id_rsa그리고.id_rsa.pub파일).
따라서 서버에서 직접 기존 SSH 키를 제거하고 새로운 키를 업로드하고자 합니다.
다음 명령을 시도했지만 실패했습니다.
$> ssh-add -D

SSH 키를 완전히 제거할 수 있는 방법이 있습니까?
대 버 두 있 다 니 습 이 상 개 보 한 고 그 가 서 ▁for ▁reports ▁note ▁bug 에 다 ▁two ▁at ▁are ▁there ▁least ▁that 니 있 대 습 한 버 이ssh-add -d/-D 키 제거 안 함:
- "데비안 버그 보고서 #472477: 메모리에서 SSH 키를 제거하지 않음"
- "Ubuntu: 모든 ID를 삭제할 수 없습니다. 또한 모든 ID가 자동으로 추가되는 이유는 무엇입니까?"
정확한 문제는 다음과 같습니다.
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가 시스템에 있는지 확인합니다.
- 폴더로 이동 --> /Users/administrator/.ssh/id_ed25519.pub
그렇지 않다면,
- 터미널을 엽니다.
터미널에 붙여넣기
- 사용자 → ssh -T git@gitlab.com 확인
기존 SSH 키 제거
- 키 → 존 SSH 키 → 제
rm ~/.ssh/github_rsa.pub
새로 만들기
키 → 새 SSH 키 →
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"공용 키가 "/Users/administrator/.ssh/id_ed25519.pub"에 저장되었습니다.
공용 키 저장 경로를 엽니다.
SSH 키 복사 → GitLab 계정 → 설정 → SSH 키 → 키 추가
터미널 →에서 다시 테스트합니다.
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
'source' 카테고리의 다른 글
| Kubernetes Java 응용 프로그램에서 최신 포드를 가져오는 방법 (0) | 2023.06.26 |
|---|---|
| SQL Server 테이블에서 외부 키가 있는 데이터 삭제 (0) | 2023.06.26 |
| API 'variant.getExternalNativeBuildTasks()'가 더 이상 사용되지 않으며 'variant.getExternalNativeBuildProviders()'로 대체되었습니다. (0) | 2023.06.26 |
| Angular 2 XMLHttpRequest에서 열기를 실행하지 못했습니다.잘못된 URL (0) | 2023.06.26 |
| 카운트(*) "열"에서 별칭을 사용하고 have 절에서 참조할 수 없는 이유는 무엇입니까? (0) | 2023.06.26 |