web-dev-qa-db-ja.com

ssh:ホスト名を解決できませんでした– High Sierra

最近、MacBook ProをSierraからHigh Sierraにアップグレードした同僚をサポートしています。彼はsshを介してフィールド内の私たちのボックスの1つに接続しようとしています。問題のボックスにはIPv6アドレスがあります。

~/.ssh/configファイルは空であり、sshキーは変更されていません。 /etc/ssh/ssh_configファイルは、MBPにインストールされるデフォルトです。 Digは正常に機能し、ボックスの適切なIPv6アドレスを報告します。 Ping6も期待どおりに機能します。彼は、DNS経由でIPv4アドレスで公開されている社内のgitサーバーに接続でき、問題なくプッシュ/プルできます。

私が彼にボックスにsshさせると、次のようになります:

ssh user@hostname

接続は次のように失敗します:

ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known

-vvvvをsshに追加すると、次の出力が生成されます。

ssh -vvvv [hostname]
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to [hostname] port 22.
ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known

彼がIPv6アドレスを使用してアプライアンスに接続すると、接続は成功し、ログインできます。

DNSサーバーは適切に構成されており、期待どおりにアドレスを提供します。 SierraでMBPを使用していますが、接続に問題はありません。また、私たちのグループはすべて、さまざまなヴィンテージとOSフレーバーのMacbook(他のHigh Sierraユーザーはいない)を使用しており、これまでのところ、この問題が発生しているのは彼だけです。

編集:提示された解決策を試しました here 。しかし、Appleのシステム整合性保護が邪魔をしました。この時点でオフにするつもりはありません。最後の手段として残しておきたいと思います。

3
jrogers63

この場合に役立つ回避策は次のとおりです。

# install openssh from brew
brew install openssh

# /usr/local/sbin shouldn't be writable on High Sierra (by default), 
# so brew will fail to link the ssh binary

brew unlink openssh
ln -s /usr/local/Cellar/openssh/<version of openssh>/bin/ssh /usr/local/bin/ssh

これは、使用可能なバージョンのsshをリンクしました。これで、同僚は期待どおりに接続できるようになりました。彼のMacには2つのバージョンのsshがあるので、brewを介してインストールされたopensshバージョンが最初にPATHにあることを確認することが重要です。

PATH=/usr/local/bin:/usr/bin
4
jrogers63