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 秒を超えるホップを正しく動作させることができません。これは、機能面で非常に残念なことです。