.ssh / config:Mac OS Sierra 10.12.6の「不正な構成オプション:UseKeychain」


93

Mac(Mac OS Sierra 10.12.6)でssh構成をセットアップして、sshキーのパスフレーズをキーチェーンに保存しようとしています。以前はそれを

ssh-add -K ~/.ssh/id_rsa

しかし最近、これはもう機能していないようです。この記事に続い、Mac OS> 10.12.2でのsshconfigの動作に変更があるようUseKeychain yesです。この問題を修正するための推奨される方法は、sshconfigに追加することです。だからここに私の.ssh/configセクションがありHost *ます:

Host *
  Port 22
  ServerAliveInterval 60
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
  AddKeysToAgent yes
  UseKeychain yes

外部ホストにSSHで接続しようとすると、次のエラーメッセージが表示されます。

$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain

これが発生する理由と、それを修正する方法はありますか?ありがとう!

回答:


176

IgnoreUnknown次のような別のオプションを指定してみてください。

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

これについての詳細はここで見つけることができます。

すでにIgnoreUnknown値がある場合は、コンマ区切りの値を使用してください

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes

2
ssh -F /dev/null ...一時的に設定ファイルをバイパスします、それは私のために働きます。
イタチ

1
IgnoreUnknown UseKeychainそれでも追加は機能しないので、UseKeychain yes完全に削除すると機能します。ただし、これが最善のアプローチかどうかはわかりません。
ハンクチャン

この解決策は私のために働いたが、なぜこれが突然変わるのか理解できないのですか?DigitalOceanアカウントにのみログインしています。
anjanesh

すべてのオプションを削除し、HostとIdentityFileを残しました。Githubはこれらのオプションを使用するように言っていますが、私にとっても機能しません。ありがとう。
NatusDrew20年

54

受け入れられた答えは私を助けましたが、私には悪い選択肢が複数あったため、私の問題を完全には解決しませんでした。この問題が発生した場合の例を次に示します。

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

これをここに残したいだけです。リモート接続にも問題があり、これが問題であることが判明しました。この問題は、BitbucketのSourcetreeツールを使用して生成されました。このツールはアンインストールしましたが、リモート接続を妨げる残骸が残っています
Connor

ありがとう!MacOSでモハーベ勤務10.14.6
ブレンダン・

なぜこれが機能するのですか?私は同じ問題を抱えていて、この答えで修正されましたが、なぜこれが機能したのか、そもそもなぜ問題があったのかわかりません..
NishantMehta20年


1

ssh-addタイプの代わりに 'open .ssh / id_rsa'を入力し、キーチェーンに追加します

UseKeychainオプションは私の設定では決して悪いようには見えませんでしたが、最初は他のホストの前に次のようなものがあります

Host *
UseKeychain yes 

Host (...)

参考までに、それは間違った順序だと思います。そのように書くと、*ルールは無視されます。man ssh_config「各パラメーターに対して最初に取得された値が使用されるため、ファイルの先頭近くにホスト固有の宣言を追加し、最後に一般的なデフォルトを指定する必要があります。」
テレマコス

参考までに、私は数十台のサーバーでほぼ10年間そのような状態にあり、問題は発生していません。私は毎日非常に多くのサーバーにSSH接続しています。ただし、誰かがその構成で実際の問題を見つけた場合は、おそらくそれが問題になるでしょう。
リカルドメンデス

0

大文字の-K小文字の-kを試してください!!

ssh-add -k ~/.ssh/id_rsa

Enter passphrase for /Users/tom/.ssh/id_rsa:
Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)

ssh-add-K少なくともmacOSではオプションがあります。man ssh-add-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
uasi

0

同じ問題が発生し、指示に従ってキーの生成を開始したときに気づきました。最初のステップはこれです。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

メールアドレスは変更していませんが、もちろん忘れてしまいました:D。したがって、そのステップを忘れないようにしてください。そうすれば、すべてうまくいくでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.