2017-08-21 10 views
0

私はいくつかの顧客のためにJavaでソフトウェアを開発しました。私はJSCHコマンドを使用しているので、known_hostsファイルにアクセスする必要があります。私はLinuxといくつかのMacマシン上で実行されている私のコンピュータ上でそれをテストし、正常に動作します。しかし、私は1つの顧客に問題があります:Mac、known_hostsの場所はデフォルトではありませんか?

私のソフトはknown_hostsファイルにアクセスできません。私は、端末ナノ/users/username/.ssh/known_hostsを入力するように頼んだとき/Users/username/.ssh/known_hosts

しかし

:私はそのデフォルトの場所は(そしてほとんど常に)であることを知っていますそれは1つを開くのではなく新しいファイルを作成しました。 私の質問は:

known_hostsファイルは別の場所にある可能性がありますか?もしそうなら、どうやってその場所を見つけるのですか?

NB:インターネットに接続されていないため、Macにリモートアクセスできません(TeamViewerなどのように)。

答えて

0

これはデフォルトの場所です。使用されていないため、ファイルが存在しないことがあります(macOSはこれを頻繁に実行します; /etc/fstabが別の例です)。彼らは認識されます。

しかし、あなたはこのファイルを作成し、そこに任意のホストを追加する場合(~/.ssh~/.ssh/known_hosts06000700、正しい権限を設定)。

1

~/.ssh/configのエントリを使用して特定のホストに対してデフォルトの場所が上書きされる可能性があるため、特定のターゲットのファイルを特定する必要があります。

MacOSのは、あなたが特定の接続のための設定を決定するために-Gオプションを使用することができるはずのOpenSSHの最近の十分なバージョンを使用しています。

$ ssh -G somehost | grep knownhostsfile 
globalknownhostsfile /etc/ssh/ssh_known_hosts /etc/ssh/ssh_known_hosts2 
userknownhostsfile ~/.ssh/known_hosts ~/.ssh/known_hosts2 

むしろnanoでファイルまたはその他のテキストエディタを編集するよりも、 known_hostsファイルを作成する正しい方法は、に接続することです。 SSHを使用して、ホスト鍵の正確性についてのSSHクライアントの挑戦に答えます。

セキュリティ要件に敏感なクライアントに感心させたい場合は、パス名を入力する代わりにsshコマンドラインを送信して確認する必要があります彼は自信を持って「はい、これは正しいホストです」と言うことができます。 SSHにその仕事をさせてください。

関連する問題