После обновления Mac OS Sierra, не можете использовать удаленную систему входа ssh, как я могу это исправить?
когда я использую [email protected]
для входа в систему удаленного доступа, он сообщает следующее:
debug1: /etc/ssh/ssh_config line 17: Applying options for *
/etc/ssh/ssh_config: line 20: Bad configuration option: gssapikeyexchange
/etc/ssh/ssh_config: line 21: Bad configuration option: gssapitrustdns
/etc/ssh/ssh_config: terminating, 2 bad configuration options
Ответы
Ответ 1
Прокомментируйте следующие строки в /etc/ssh/ssh_config
от
# System-wide defaults set by MIT Kerberos Extras
Host *
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
GSSAPIKeyExchange yes
к
# System-wide defaults set by MIT Kerberos Extras
#Host *
# GSSAPIAuthentication yes
# GSSAPIDelegateCredentials yes
# GSSAPIKeyExchange yes
Ответ 2
Один из способов решения этого вопроса - скопировать двоичный файл ssh со старого Mac и поместить этот двоичный файл в путь перед /usr/bin/ssh, например: (скопировать из el capitan box)/usr/bin/ssh => ~/bin/ssh, затем добавьте $ HOME/bin в вашу PATH прежде, чем что-либо еще.
Причина в том, что исправления GSSAPITrustDNS и GSSAPIKeyExchange больше не применяются Apple. Начиная с Sierra, когда они обновили OpenSSH до 7.2p2, поэтому один из вариантов - перейти на старую версию ОС, если вам нужно использовать kerberos + ssh.
Ответ 3
Вероятно, вам просто нужно отключить GSSAPITrustDns в конфигурации ssh.
vi ~/.ssh/config
:% s/GSSAPITrustDns/# GSSAPITrustDns/g
: WQ
Аналогично, комментируйте и другие параметры, например gssapikeyexchange и т.д.
Ответ 4
Один ответ строки - запустите это, чтобы удалить строку GSSAPITrustDns:
sed -i".backup" '/GSSAPITrustDns/d' ~/.ssh/config
Создает копию и обновляет: ~/.ssh/config
Ответ 5
Другой вариант: создайте свою собственную локальную копию openssh с примененными патчами gssapi.
Справочная информация: Если вы все еще хотите использовать функциональность билета Kerberos (т.е. Ssh без файла идентификационного ключа и без необходимости ввода пароля), или "hpn openssh patch" (якобы ускоряет передачу больших файлов) или "патч цепочки для ключей", здесь можно найти способ установите свою собственную копию новой версии openssh, которая их поддерживает (что также помогает решить проблему с OP):
Оказывается, что homebrew "раньше" поддерживал опцию установки openssh под названием --with-gssapi-support
, которая давала бы вам ssh/scp, поддерживающий билеты Kerberos.
Это может быть случайно удалено с их обновлением до версии 6.6p1 openssh [?]. С тех пор было предложено несколько билетов, чтобы "добавить его", но сопровождающие потерпели фиаско с патчем "связка ключей", и они решили попытаться сохранить свою формулу openssh гораздо более ванильной, чем раньше, поэтому отклонил последующие предложения.
Они предлагают создать "тап", если вы хотите вернуть патчи. Здесь один с доступными патчами. Чтобы использовать это:
$ brew tap rdp/openssh-gssapi
$ brew install rdp/homebrew-openssh-gssapi/openssh-patched --with-gssapi-support
затем перезапустите сеанс терминала, и вы должны быть в бизнесе, он создаст новую команду /usr/local/bin/ssh, которая свободно говорит на Kerberos, и, при обычной установке homebrew, эта команда должна быть первой в вашем PATH, поэтому один используется по умолчанию сейчас. Есть также некоторые другие варианты патча для этого касания (hpn
и keychain-support
), если хотите, смотрите README.
Другой вариант - использовать файлы ключей идентификации ssh (ключи аутентификации/авторизации) вместо Kerberos, тогда вы все равно можете использовать предоставляемый по умолчанию ssh как есть.
Другим вариантом является использование пакета macports openssh, который поддерживает... иногда немного более старую версию openssh с поддержкой Kerberos.
Ответ 6
Исправление для SSH 10.12:
sudo nano /etc/ssh/ssh_config
Комментарий с помощью #:
- GSSAPIKeyExchange no
- GSSAPITrustDNS no
- type Control + o
- Тип управления + x
Ответ 7
Apple никогда НИКОГДА не удаляла ранее допустимые параметры, но должна была "устареть" от них и считала их "проигнорированными", что означает, что они не были предоставлены. Привлечение их к комментариям нелепо. Мое использование Kerberos не повлияло на устранение GSSAPIKeyExchange.
Ответ 8
-
Моя конфигурация /etc/ssh/ssh_config
была в порядке и никогда не менялась, я нашел в ~/.ssh/config строки, которые мне нужно изменить, и решил эту проблему.
-
если вы получаете:
Разрешения 0644 для '~/.ssh/id_rsa [ваш файл] слишком открыты
выполните: chmod 600 ~/.ssh/id_rsa[your file]
, чтобы решить эту проблему.
Ответ 9
Вы можете попробовать удалить файл ~/.ssh/config. Это сработало для меня!