3

Emacs でリモート ファイルを編集しようとしていますが、ドキュメント以前の SO の質問から、やりたいことを実行するのに苦労しています。

私はさまざまな場所からリモートで作業しており、サーバー Foo でファイルを編集したいと考えています。サーバー Foo はインターネットから直接到達できませんが、サーバー Bar は到達可能であり、Foo は Bar からの接続を受け入れます。私は Bar に到達することを期待でき、Bar は Foo に到達することを期待できます。

Tramp のドキュメントによると、これを行うには Tramp のプロキシ リストに追加する必要があり、次のようになります。

(add-to-list 'tramp-default-proxies-alist
    ("foo_host" "seanm" "/ssh:seanm@bar_host"))

しかし、それを試してみるとうまくいかず、不可解なエラー メッセージが表示されます。

  • Foo を明確に参照するにはどうすればよいですか? ホスト名から Foo を見つける方法を知っている DNS サーバーはなく、Foo の IP アドレスは 10.0.0.0/8 プライベート スペースにあります。その IP アドレスで Foo を参照したくありません。アクセスする可能性のある他の 10.0.0.0/8 ネットワーク内のホストと衝突するリスクがあるからです。おまけとして、Bar の /etc/hosts ファイルに Foo を追加しましたが、うまくいかないようでした。より良い解決策はありますか?

  • どのような引用規則に従う必要がありますか? 私が目にしている例では、「ダブル クォーテーション」と「ティック アンド シング ル」クォーテーションの両方を使用しています。そこで何が起こっているのか理解できません - この文字列が通過する解析には複数の層があるようです。

  • これのバリエーションを試しているうちに、「そのシナリオではそのリモート アクセス方法を使用できません」というエラー メッセージが表示されました。Cx Cf と同等の処理を実行できるようにする 2 番目のプロキシ メソッドを設定するにはどうすればよい/su::/path/to/fileですか?

以前のマルチホップ構文と比較すると、すべてが非常に面倒に思えます。

後で: emacs がホストの名前を正しく「聞く」ように、エスケープの多くのレイヤーを正しく取得することができました。ただし、1 秒を超えるホップを正しく動作させることができません。これは、機能面で非常に残念なことです。

4

1 に答える 1

1

正解は、Host、HostAlias、および ProxyCommand ディレクティブを使用して SSH 構成を変更することであることが判明しました。

于 2011-09-10T12:28:07.020 に答える