Configuração incorreta: não é possível ssh


12

Conforme descrito em muitos outros posts, depois de atualizar para o MacOS Sierra, modifiquei o arquivo de configuração ssh da seguinte maneira:

Host me
HostName login.hpc.ugent.be
User vscxxxxx
Port 22

Host *
  AddKeysToAgent yes
  UseKeychain yes

Ainda recebo o seguinte erro:

$ssh -Y vscxxxxx@login.hpc.ugent.be
/Users/manfredo/.ssh/config: line 8: Bad configuration option: usekeychain
/Users/manfredo/.ssh/config: terminating, 1 bad configuration options

o que estou perdendo?


Qual é a saída de ssh -Ve type ssh? Ou você sabe se possui o ssh não padrão do sistema instalado?
Jari Keinänen

OpenSSH_7.3p1, OpenSSL 1.0.2k 26 Jan 2017
Manfredo

Respostas:


10

Basta remover a UseKeychain yeslinha da sua configuração. A atualização interrompeu a instalação existente removendo esta opção.


Provavelmente isso é falso, supondo que estamos falando do ssh fornecido pelo sistema. Que atualização quebrou? Ou você quer dizer alguma atualização ssh que não seja da Apple? Estou no macOS atualizado e estou com UseKeychain yesou usekeychain yessem erros.
Jari Keinänen

Isso realmente funciona. Eu realmente não sei o que fez com que ele parasse de funcionar, a única coisa é que atualizei meus pacotes macport hoje.
Manfredo

4

A documentação da Apple sobre as atualizações do OpenSSH no macOS 10.12.2 afirma que:

Se você estiver compartilhando sua configuração ssh com sistemas executando versões mais antigas do OpenSSH que não compreendem a opção UseKeychain, é possível especificar a opção IgnoreUnknown para manter sua configuração compatível com as versões nova e antiga.

Portanto, o truque é que, no seu arquivo de configuração ssh, adicione IgnoreUnknown UseKeychaincomo abaixo:

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes

0

Se você especificar /usr/bin/sshos comandos, ele funcionará. O caminho padrão na 10.12 é colocado /usr/local/binno topo, para que qualquer outra versão sshnão funcione com essa opção, pois é específica para o sistema Mac.


para acrescentar isso, basta nano ~/.bash_profilegarantir que /usr/biné o /usr/local/bincaso, se eles não estiverem na sua $PATHdeclaração, basta adicionar os dois nessa ordem. Algo como export PATH="~/bin:/usr/bin:/usr/local/bin/:$PATH, em seguida, source ~/.bash_profileesta resolvido para mim
abc123
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.