悪い設定:sshできません


12

他の多くの投稿で説明されているように、MacOS Sierraにアップグレードした後、ssh構成ファイルを次のように変更しました。

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

Host *
  AddKeysToAgent yes
  UseKeychain yes

それでも私は次のエラーを受け取ります:

$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

何が欠けていますか?


ssh -Vand の出力は何type sshですか?または、システムにデフォルト以外のsshがインストールされているかどうかを知っていますか?
JariKeinänen2017年

OpenSSH_7.3p1、OpenSSL 1.0.2k 2017
Manfredo

回答:


10

UseKeychain yes設定から行を削除するだけです。この更新により、このオプションが削除され、既存の設定が壊れました。


システムが提供するsshについて話していると仮定すると、これはおそらく誤りです。どの更新がそれを壊しましたか?それとも、Apple以外のsshアップデートがあるということですか?私は最新のmacOSを使用しており、エラーが発生するUseKeychain yesusekeychain yes、エラーが発生しません。
JariKeinänen2017年

それは実際に機能します。何が原因で動作が停止したのか本当にわかりません。唯一、Macportパッケージを今日更新しました。
Manfredo 2017年

4

macOS 10.12.2のOpenSSHアップデートに関するAppleのドキュメントには、次のように記載されています。

UseKeychainオプションを認識しない古いバージョンのOpenSSHを実行しているシステムとssh構成を共有している場合は、IgnoreUnknownオプションを指定して、構成を新旧両方のバージョンと互換性を保つことができます。

だから秘訣はあなたのssh設定ファイルにIgnoreUnknown UseKeychain以下のように追加することです:

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes

0

/usr/bin/sshコマンドに指定すると機能します。10.12のデフォルトパス/usr/local/binは一番上に置かれるため、他のバージョンのsshはそのオプションでは機能しません。これは、Macシステムに固有であるためです。


これに追加するには、それらが宣言にまったくない場合は、前にあるnano ~/.bash_profileことを確認し/usr/binてから/usr/local/bin$PATH両方をその順序で追加します。ような何かexport PATH="~/bin:/usr/bin:/usr/local/bin/:$PATHそれからsource ~/.bash_profile、これは私のためにそれを解決
ABC123
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.