
SSH 構成または Cyberduck 構成のいずれかを変更して、ローカル マシンからの SFTP 接続を有効にし、プロキシ サーバーを経由して宛先サーバーに接続するにはどうすればよいですか? 現在、Cyberduck で接続が失敗/タイムアウトしています。 ただし、ターミナル ウィンドウから SFTP 経由でサーバーに問題なくアクセスできるため、SSH 構成に問題があるのではないかと考えています。
私の SSH 設定は現在次のようになっています:
Host proxyserveraddress.test.com
ProxyCommand none
# PreferredAuthentications publickey
Host server1.test.com
Host server2.test.com
Host server3.test.com
######## DEFAULTS #########
Host *.test.com
User myusername
Port 8622
PreferredAuthentications publickey,password
ProxyCommand ssh proxyserveraddress.test.com exec nc %h %p 2>/dev/null
このサンプル設定に基づいた具体的な例として、
たとえば、ローカル マシン上の Cyberduck が最初に proxyserveraddress.test.com に接続し、次に server1.test.com に接続するようにするには、この構成をどのように変更すればよいでしょうか。
答え1
cyberduck は内部的に SSH を使用せず、独自に SSH プロトコルを実装しているようです。
SFTP 接続では、~/.ssh/config の次の構成オプションがサポートされています。
- アイデンティティファイル公開鍵認証用。
- ホスト名エイリアス。
- ユーザーログイン資格情報の設定。
答え2
私も同様の設定を使用しており、問題なく動作しています。
最後のブロックからプロキシ サーバーを明示的に除外すると役立つ場合がありますHost
。
Host *.test.com !proxyserveradres.test.com
ProxyCommand ...
また、-W
オプションを試すこともできます (これは基本的に と同じですnc
が、追加のコマンドがないため、より効率的で、エラーの原因が 1 つ少なくなります)。
ProxyCommand ssh proxyserveraddress.test.com -W %h:%p