ジョブサーバーにSSHで接続しようとしていますが、このエラーにより数ヶ月間問題が発生しました。私のファイルconfig
()の他のすべてのオプションは~/.ssh/config
正しく機能しますが、何らかの理由でSecurityKeyProviderが機能しません。視聴する:
Host [work-server]
HostName [work-server.work.com]
SecurityKeyProvider /usr/local/lib/libwindowsfidobridge.so
IdentityFile ~/.ssh/id_ecdsa_sk
ServerAliveInterval 60
ForwardX11Trusted no
ForwardX11 no
ForwardAgent no
ssh -o SecurityKeyProvider=/usr/local/lib/libwindowsfidobridge.so me@[work-server.work.com]
ただし、何らかの理由でコマンドラインで実行する必要があります。
ssh me@[work-server.work.com]
答え1
(この答えで私はあなたが使用しているものを難読化しないことにしました[
。]
)
Host work-server
ssh work-server
たとえば、電話するとssh me@work-server
一致します。いいえまたは に電話すると一致しますssh work-server.work.com
。ssh [email protected]
ファイルの後の内容はHostName work-server.work.com
関係ありません。値は、Host
コマンドラインで使用したホスト名と一致させようとします。HostName
ログインする実際のホスト名を指定し、何も一致しようとしません。
これは、あなたの設定がで使用されていないことを意味します。 「他のすべてのオプションは[...]うまく機能します」と書いていますが、これは単なる幻想です。これは、構成内の他の多くのオプションがとにかくデフォルトに設定されているためです。したがって、構成が機能するものと機能しないものとの間に差はない。デフォルトはコマンドラインで指定された名前で、正確に正しい名前を指定したために機能すると言われています。ご存じのとおり、問題は重要な違いを生み出す最初のオプションです。ssh [email protected]
HostName
SecurityKeyProvider
Host
との違いがHostName
直感的でない場合は、次の例を検討してください。
Host foo
HostName bar
# config A here
…
Host baz
HostName bar
# config B here
…
ssh foo
bar
構成 A は接続に使用され、ssh baz
構成 B は接続に使用されます。bar
したがって、この完全な設定は、同じホストに対して複数の事前定義された構成が必要で、呼び出し時にそれらのうちの1つを簡単に選択したい場合に便利ですssh
。ssh bar
matchもmatchでもないのでHost foo
、Host baz
AやBも使用しません。Host bar
設定ssh bar
(設定Cなど)を追加して定義できます。または、bar
すでに存在する行の1つに追加できますHost
。たとえば、最初の行を作成すると、両方ともHost foo bar
設定Aを使用ssh foo
します(そして到着するので接続されます)。ssh bar
bar
Hostname bar
あなたの場合はssh me@work-server
.ifを使用してください。ssh work-server.work.com
返品設定を使用するには、次の行work-server.work.com
に追加してください。Host
Host work-server work-server.work.com
# the rest of your config here