Как удалить ssh key в windows
В течение последних нескольких недель я создал несколько виртуальных машин. Проблема в том, что .ssh/known_hosts дает мне Человек в середине предупреждение. Это происходит потому, что другой IP-адрес связан с IP-адресом виртуальной машины.
Однако в файле .ssh/known_hosts я не нахожу запись, связанную с IP, только две причудливые ключевые строки и «ssh-rsa».
Есть ли у кого-нибудь идеи о том, как удалить старый ключ из known_hosts ?
/.ssh /known_hosts: 6, удалив 6-ю строку.
По-моему, использование ssh-keygen -R - лучшее решение для пользователя с полномочиями openssh, в то время как ваш обычный администратор Linux лучше бы сохранил свои навыки sed, используя выше метод.
Самое простое решение:
ssh снова воссоздает файл, но вы потеряете проверку ключа для других хостов!
Или вы можете использовать:
Для этого есть переключатель ssh-keygen (-R).
man ssh-keygen читает:
-R имя хоста Удаляет все ключи, принадлежащие имени хоста, из файла known_hosts. Эта параметр полезен для удаления хэшированных хостов (см. выше -H).
Предупреждение сообщит вам точную строку в файле известных хостов.
См. раздел /home/user/.ssh/known_hosts:6 ? Он указывает номер файла и строки.
Вы также можете указать ssh не проверять файл known_hosts, используя флаги UserKnownHostsFile и StrictHostKeyChecking.
Для удобства использования вы можете использовать псевдоним:
Теперь вы можете просто boldssh, когда вы уверены, что доверяете сертификату сервера.
Вам нужно запустить следующую команду, чтобы избавиться от этой проблемы. Откройте терминал и введите следующую команду:
Вы также можете удалить одну строку из известных хостов, например. rmknownhost 111 (111 - линия для удаления):
Сохраните это как rmknownhost в папке из PATH .
Запись для имени хоста или ip должна быть в первом столбце. В предупреждении также должен быть указан номер строки, в котором находится оскорбительный ключ.
Это текстовый файл. Вы можете легко редактировать с помощью vi (m) и просто удалить соответствующую строку (dd) и сохранить файл (wq). Но если есть определенная команда для удаления хоста, это, вероятно, самый безопасный метод.
Все ответы хороши, но для реального SSH pro у нас отсутствует информация о том, как удалить ssh-подпись с номером порта.
например. вы подключаетесь к
, и вы получите предупреждение, и, чтобы удалить это, вам нужно использовать квадратный квадрат номера порта:
/.ssh каталог (с оригиналом id_rsa и id_rsa.pub файлами).
Следовательно, я хочу удалить старый ключ SSH прямо на сервере и загрузить новый.
Я попробовал следующую команду без успеха:
Есть ли способ полностью удалить ключ SSH?
Проверьте ваши сокеты, которые использует ваш ssh-agent (1).ssh-add -d/-D удаляет только вручную добавленные ключи из gnome-keyring.
Нет способа удалить автоматически добавленные ключи.
Это оригинальная ошибка, и она по-прежнему присутствует.Так, например, если у вас есть две разные автоматически загруженные идентификационные данные ssh, связанные с двумя разными учетными записями GitHub - скажем, для работы и для дома - нет способа переключаться между ними. GitHub использует первый подходящий вариант, поэтому вы всегда появляетесь на GitHub как «домашний» пользователь, и у вас нет возможности загружать вещи в рабочие проекты.
Разрешение ssh-add -d применять к автоматически загружаемым ключам (и ssh-add -t X изменять время жизни автоматически загружаемых ключей) восстановит поведение, ожидаемое большинством пользователей.
Точнее, по вопросу:
- Он подрывает обычную работу ssh-agent, в основном просто для того, чтобы он мог выдать красивое окно, в которое можно ввести фразу-пароль для зашифрованного ключа ssh.
- Он просматривает ваш .ssh каталог и автоматически добавляет любые ключи, которые он находит, вашему агенту.
- И это не позволит вам удалить эти ключи.
Эта ошибка все еще подтверждается в Ubuntu 14.04.4, всего два дня назад (21 августа 2014 г.)
Возможный обходной путь:
- Делать, ssh-add -D чтобы удалить все ваши добавленные вручную ключи. Это также блокирует автоматически добавленные ключи, но не очень полезно, так gnome-keyring как попросит вас разблокировать их в любом случае, когда вы попытаетесь сделать a git push .
- Перейдите в свою
Другой обходной путь:
То, что вы действительно хотите сделать, это gpg-keyring-daemon вообще отключить .
Перейти System --> Preferences --> Startup Applications и отменить выбор SSH Key Agent (Gnome Keyring SSH Agent) флажок " - вам нужно прокрутить вниз, чтобы найти его.Вы все равно получите ssh-agent , только теперь он будет вести себя разумно: ключи не загружаются автоматически, вы запускаете ssh-add, чтобы добавить их, и если вы хотите удалить ключи, вы можете это сделать. Представьте себе, что.
Решение состоит в том, чтобы gnome-keyring-manager не запускаться никогда, что было странным образом затруднено, в конечном итоге, путем удаления разрешения на выполнение программного файла.
Райан Лю добавляет еще один интересный случай в комментариях :
На случай, если это кому-нибудь поможет: я даже попытался удалить id_rsa и id_rsa.pub файлы вообще, а ключ был все еще показывает вверх.
Оказывается, gpg-agent кэшировал их в
/.gnupg/sshcontrol файле ; Я должен был вручную удалить их оттуда.
Другой вариант в Ubuntu 14-16 - использовать графический интерфейс «Пароли и ключи» (вы можете найти ssh, чтобы найти его). Выберите, например, ключи OpenSS, затем щелкните правой кнопкой мыши ключ и выберите «Удалить». Вам может потребоваться перезагрузить систему, чтобы увидеть, что она удалена. Почему эта информация о ssh-agent и ssh-add выбранный ответ? Оригинальный плакат сказал, что хочет remove the old SSH key directly on the server and upload a new one . Похоже, он хочет редактировать/.ssh/authorized_keys на удаленном хосте.
Этот ответ привел меня к решению проблемы с включенной пересылкой ssh. При переходе с компьютера с Ubuntu 16.04 на систему Debian, куда пересылаются все учетные данные ssh, git clone использовался первый ключ в цепочке вместо версии в файле конфигурации в окне Ubuntu. Плохой ключ автоматически засасывался и отправлялся в ящик Debian. Это настоящая боль в тылу. Я работаю над проектами компании и по контракту работаю в другой компании. Это просто добавляет потраченное время на управление обоими. Я надеюсь, что исправление придет в ближайшее время! В случае , если это помогает любому: я даже пытался вычеркивания id_rsa и id_rsa.pub файлы вообще, а ключ был все еще показывает вверх. Оказывается, gpg-agent кеширует их в/.gnupg/sshcontrol файле; Я должен был вручную удалить их оттуда.
Если вы пытаетесь выполнить операцию, связанную с ssh, и получаете следующую ошибку:
Вы можете удалить отсутствующий ключ ssh из вашего агента ssh следующим образом:
Если не ошибаюсь, вы потеряли свой .ssh каталог, содержащий ваш закрытый ключ, на вашем локальном компьютере, и поэтому вы хотите удалить открытый ключ, который был на сервере и который позволял входить на основе ключа. В этом случае он будет храниться в .ssh/authorized_keys файле в вашем домашнем каталоге на сервере. Вы можете просто отредактировать этот файл с помощью текстового редактора и удалить соответствующую строку, если вы можете определить его (даже проще, если это единственная запись!). Надеюсь, этот ключ был не единственным способом доступа к серверу, и у вас есть другой способ войти в систему и отредактировать файл. Вы можете вручную добавить новый открытый ключ в authorised_keys файл или использовать ssh-copy-id . В любом случае вам потребуется пароль, установленный для вашей учетной записи на сервере, или другой способ идентификации или доступа, чтобы получить доступ к authorized_keys файлу на сервере.
ssh-add добавляет идентификационные данные к вашему ssh-агенту, который локально управляет вашими идентификационными данными, и «соединение с агентом перенаправляется через удаленные входы SSH, и пользователь может таким образом безопасно использовать привилегии, предоставляемые идентификационными данными в любом месте сети». (man page), так что я не думаю, что это то, что вы хотите в этом случае. Насколько я знаю, он не может получить ваш открытый ключ на сервер, если у вас нет доступа к нему через логин ssh.
Я удалил этот файл, и я все еще могу подключиться. Так что это определенно не было здесь . Это был автоматически добавленный ключ, но до сих пор нигде не существует.Я открыл приложение «Пароли и ключи» в своем Unity и удалил ненужные ключи из ключей Secure Keys -> OpenSSH. И они также автоматически были удалены из ssh-agent -l .
Остерегайтесь, что это также удаляет их из каталогаЯ могу подтвердить, что эта ошибка все еще присутствует в Ubuntu 19.04. Обходной путь, предложенный @VonC, работал отлично, суммируя для моей версии:
- Нажмите на вкладку Действия в верхнем левом углу.
- В появившемся окне поиска начните вводить «запуск приложений»
- Нажмите на значок «Запуск приложений»
- В появившемся окне выберите приложение менеджера ключей gnome (не могу вспомнить точное имя в графическом интерфейсе, но оно достаточно различимо) и удалите его.
Затем я попытался ssh-add -D снова, и после перезагрузки ssh-add -l сказал мне, что у агента нет идентификаторов. Я подтвердил, что у меня все еще ssh-agent работает демон ps aux | grep agent . Поэтому я добавил ключ, который чаще всего использую с GitHub ( ssh-add
/.ssh/id_ecdsa ), и все хорошо!
Теперь я могу выполнять обычные операции с моим наиболее часто используемым репозиторием, и если мне иногда требуется доступ к другому репозиторию, использующему ключ RSA, я просто выделяю для этого один терминал export GIT_SSH_COMMAND="ssh -i /home/me/.ssh/id_rsa.pub" . Решено! Благодарим @VonC за указание на ошибку и решение.
Проверьте ключ .ssh или нет в вашей системе
- Перейдите в папку -> /Users/administrator/.ssh/id_ed25519.pub
Если не чем
Прошлое в терминале
Удалить существующий ключ .ssh
-
Удалить существующий ключ .ssh -> rm
Создать новый
Создать новый ключ .ssh -> ssh-keygen -t rsa -b 4096 -C "[email protected]"
Открытый ключ был сохранен в "/Users/administrator/.ssh/id_ed25519.pub."
Следовательно, я хочу удалить старый ключ SSH прямо на сервере и загрузить новый.
Я безуспешно попробовал следующую команду:
Есть ли способ полностью удалить ключ SSH?
Обратите внимание, что существует как минимум два отчета об ошибках для ssh-add -d/-D не удаления ключей:
ssh-add -d/-D удаляет только добавленные вручную ключи из gnome-keyring.
Невозможно удалить автоматически добавленные ключи.
Это изначальная ошибка, и она определенно присутствует.Так, например, если у вас есть два разных автоматически загружаемых идентификатора ssh, связанных с двумя разными учетными записями GitHub - скажем, для работы и для дома - нет возможности переключаться между ними. GitHub принимает первый из подходящих, поэтому вы всегда будете отображаться на GitHub как «домашний» пользователь без возможности загружать что-либо в рабочие проекты.
Разрешение применения ssh-add -d к автоматически загружаемым ключам (и ssh-add -t X для изменения времени жизни автоматически загружаемых ключей) восстановило бы поведение, ожидаемое большинством пользователей.
Точнее о проблеме:
- Он нарушает нормальную работу ssh-agent, в основном для того, чтобы он мог вывести красивое окно, в котором вы можете ввести парольную фразу для зашифрованного ключа ssh.
- И он роется в вашем каталоге .ssh и автоматически добавляет любые найденные ключи вашему агенту.
- И он не позволит вам удалить эти ключи.
Эта ошибка все еще подтверждается в Ubuntu 14.04.4, всего два дня назад (21 августа 2014 г.).
Возможный обходной путь:
- Выполните ssh-add -D , чтобы удалить все ваши вручную добавленные ключи. Это также блокирует автоматически добавляемые ключи, но от этого мало толку, поскольку gnome-keyring все равно попросит вас разблокировать их, когда вы попытаетесь выполнить git push .
- Перейдите в папку
Другой обходной путь:
На самом деле вам нужно полностью отключить gpg-keyring-daemon .
Перейдите к System --> Preferences --> Startup Applications и снимите флажок " SSH Key Agent (Gnome Keyring SSH Agent) " - вам нужно прокрутить вниз, чтобы найти его.Вы по-прежнему получите ssh-agent , только теперь он будет вести себя нормально: ключи не загружаются автоматически, вы запускаете ssh-add, чтобы добавить их, и если вы хотите удалить ключи, вы можете. Представь это.
Решение состоит в том, чтобы не дать gnome-keyring-manager когда-либо запускаться, что было странно трудным, поскольку в конечном итоге было достигнуто путем удаления разрешения на выполнение файла программы.
Райан Лю добавляет еще один интересный угловой случай в комментариях:
Если это кому-то поможет: я даже попытался удалить файлы id_rsa и id_rsa.pub вместе, но ключ все еще отображался.
Оказывается, gpg-agent кэшировал их в файле
/.gnupg/sshcontrol ; Пришлось вручную удалить их оттуда.
Это тот случай, когда keygrip был добавлен как здесь.
Если вы пытаетесь выполнить операцию, связанную с SSH, и получаете следующую ошибку:
Вы можете удалить отсутствующий ключ SSH из своего агента SSH с помощью следующих действий:
Если я не неправильно понял, вы потеряли свой каталог .ssh , содержащий ваш закрытый ключ на вашем локальном компьютере, и поэтому вы хотите удалить открытый ключ, который был на сервере и позволял вход на основе ключа.
В этом случае он будет сохранен в файле .ssh/authorized_keys в вашем домашнем каталоге на сервере. Вы можете просто отредактировать этот файл в текстовом редакторе и удалить соответствующую строку, если сможете ее идентифицировать (даже проще, если это единственная запись!).
Я надеюсь, что этот ключ был не единственным способом доступа к серверу, и у вас есть другой способ входа в систему и редактирования файла. Вы можете вручную добавить новый открытый ключ в файл authorised_keys или использовать ssh-copy-id . В любом случае вам потребуется настроить аутентификацию по паролю для вашей учетной записи на сервере или какой-либо другой метод идентификации или доступа, чтобы получить доступ к файлу authorized_keys на сервере.
ssh-add добавляет идентификаторы к вашему SSH-агенту, который обрабатывает управление вашими идентификаторами локально, и "соединение с агентом пересылается через удаленные входы SSH, и пользователь, таким образом, может использовать привилегии, предоставленные идентификаторами в любом месте сети в безопасный способ ". (страница руководства), поэтому я не думаю, что в данном случае это то, что вам нужно. Насколько мне известно, у него нет никакого способа получить ваш открытый ключ на сервере, если у вас нет доступа к указанному серверу через вход в систему SSH.
Я открыл приложение «Пароли и ключи» в своем Unity и удалил ненужные ключи из ключей безопасности -> ключей OpenSSH И они также были автоматически удалены из ssh-agent -l .
Убедитесь, что папка .ssh находится в вашей системе
- Зайдите в папку -> /Users/administrator/.ssh/id_ed25519.pub
Если нет, то
Вставить в терминал
Удалить существующие ключи SSH
-
Удалить существующие ключи SSH → rm
Создать
Создать новый ключ SSH → ssh-keygen -t rsa -b 4096 -C "[email protected]"
Открытый ключ был сохранен в "/Users/administrator/.ssh/id_ed25519.pub".
Откройте сохраненный путь открытого ключа.
Скопируйте ключ SSH → Учетная запись GitLab → Настройка → Ключ SSH → Добавить ключ
Я могу подтвердить, что эта ошибка все еще присутствует в Ubuntu 19.04 ( Дискотека Динго). Обходной путь , предложенный VonC , работал отлично, резюмируя для моя версия:
- Щелкните вкладку "Действия" в верхнем левом углу.
- В появившемся окне поиска начните вводить «запускаемые приложения».
- Щелкните значок «Автозагрузка приложений».
- В появившемся окне выберите приложение менеджера связки ключей gnome (не могу вспомнить точное имя в графическом интерфейсе пользователя, но оно достаточно отчетливо) и удалите его.
Затем я снова попробовал ssh-add -D , и после перезагрузки ssh-add -l сказал мне, что у агента нет удостоверений. Я подтвердил, что у меня все еще работает демон ssh-agent с ps aux | grep agent . Поэтому я добавил ключ, который чаще всего использовал с GitHub ( ssh-add
/.ssh/id_ecdsa ), и все было хорошо!
Теперь я могу выполнять обычные операции с моим наиболее часто используемым репозиторием, и если мне иногда требуется доступ к другому репозиторию, который использует ключ RSA, я просто выделяю для него один терминал с export GIT_SSH_COMMAND="ssh -i /home/me/.ssh/id_rsa.pub" . Решено! Благодарим VonC за указание на ошибку и решение.
Решение для меня (openSUSE Leap 42.3, KDE) должен был переименовать папку
/.gnupg , которая, по-видимому, содержала кэшированные ключи и профили.
После выхода / входа в KDE ssh-add / agent снова запускается, и папка создается с нуля, но все старые ключи ушли.
обратите внимание, что есть по крайней мере два отчета об ошибке для ssh-add -d/-D не удаление ключей:
ssh-add -d/-D удаляет только вручную добавлено ключи от gnome-брелок.
Невозможно удалить автоматически добавленные ключи.
Это оригинальная ошибка, и она все еще определенно присутствует.Итак, например, если у вас есть два разных автоматически загружаемых идентификатора ssh, связанных с двумя разными учетными записями GitHub-скажем, для работы и для дома-есть не так для переключения между ними. GitHubtakes первый, который соответствует, поэтому вы всегда появляетесь как ваш "домашний" пользователь GitHub, без возможности загружать вещи в рабочие проекты.
позволяет ssh-add -d применить к автоматически загружены ключи (и ssh-add -t X чтобы изменить время жизни автоматически загружаемых ключей), восстановит поведение, ожидаемое большинством пользователей.
точнее, о проблеме:
- это подрывает нормальную работу ssh-агента, в основном просто так, чтобы он может появиться красивое окно, в которое вы можете ввести парольную фразу для зашифрованного ключа ssh.
- и он лапы через ваш .ssh каталог, и автоматически добавляет любые ключи, которые он находит для вашего агента.
- и это не позволит вам удалить эти ключи.
эта ошибка по-прежнему подтверждается в Ubuntu 14.04.4, еще два дня назад (21 августа 2014)
- Do ssh-add -D удалить все ваши вручную добавлены ключи. Это также замки автоматически добавляемые ключи, но не так много пользы с gnome-keyring попросит вас разблокировать их в любом случае, когда вы попытаетесь сделать git push .
- перейти к
то, что вы действительно хотите сделать, это выключить gpg-keyring-daemon в целом.
Перейти к System --> Preferences --> Startup Applications и снимите флажок " SSH Key Agent (Gnome Keyring SSH Agent) " box -- вам нужно прокрутить вниз, чтобы найти его.вы все равно получите ssh-agent , только теперь он будет вести себя разумно: нет ключей с автоматической загрузкой, вы запускаете ssh-add, чтобы добавить их, и если вы хотите удалить ключи, вы можете. Воображать что.
этот коммент на самом деле предполагает:
решение сохранить gnome-keyring-manager от когда-либо запуска, что было странно сложно, наконец, достигнуто путем удаления разрешения на выполнение файла программы.
если я не ошибаюсь, вы потеряли свой .ssh каталог, содержащий ваш закрытый ключ на локальном компьютере, и поэтому вы хотите удалить открытый ключ, который был на сервере и который разрешил вход на основе ключа. В этом случае он будет храниться в .ssh/authorized_keys файл в вашем домашнем каталоге на сервере. Вы можете просто отредактировать этот файл с помощью текстового редактора и удалить соответствующую строку, если сможете ее идентифицировать (еще проще, если это единственная запись!). Надеюсь, этот ключ был не единственным способом доступ к серверу, и у вас есть другой способ входа в систему и редактирования файла. Вы можете вручную добавить новый открытый ключ в authorised_keys файл или использовать ssh-copy-id . В любом случае, вам понадобится аутентификация пароля для вашей учетной записи на сервере или какой-либо другой метод идентификации или доступа, чтобы добраться до authorized_keys файл на сервере.
ssh-add добавляет идентификаторы к вашему агенту ssh, который обрабатывает управление вашими идентификаторами локально и " соединение с агентом пересылается по SSH удаленные логины, и пользователь может таким образом использовать привилегии, предоставленные идентификаторами в любом месте сети безопасным способом."(man page), поэтому я не думаю, что это то, что вы хотите в этом случае. Насколько мне известно, он не может получить Ваш открытый ключ на сервер без доступа к указанному серверу через SSH-логин.
Читайте также: