web-dev-qa-db-ja.com

SFTPコマンドによるプロキシの詳細

Sftpサーバーにログインしようとしていますが、これが表示されます

Connecting to sftp.ABCD.com...
/bin/sh: line 1: exec: connect: not found
ssh_exchange_identification: Connection closed by remote Host
Couldn't read packet: Connection reset by peer

これらは私が与えようとしている資格情報です

Sftpサーバーの資格情報は次のとおりです。

SFTPサーバー情報:

プロキシアドレス:proxy.ABCD.comホスト名:sftp.ABCD.comポート:32ユーザー名:wakaoパスワード:123!@#

私はいくつかの組み合わせで試しましたが、それが私に上記のメッセージを与えた場所と理由のような結論に達することができませんでした

sftp -o "ProxyCommand  connect -S proxy.ABCD.com:80"   [email protected]:32
sftp -o "ProxyCommand  connect -S proxy.ABCD.com:80    %h    %p"  [email protected]:32

どこが間違っているのですか?または、コマンドを正しく指定する方法は?前もって感謝します!

8
Sandeep

問題は、SFTPサーバー上のシェルがコマンドconnectを見つけられないことです。 2つの考えられる原因:

  1. _$PATH_が設定されていません。 connectを_/usr/bin/connect_または$(which connect)に置き換えてみてください。または、SSHでログインして、このプログラムを見つけます。
  2. SFTPサーバーにはconnectがインストールされていません。本機のシステム管理者に連絡してください。
4
schot

Schotが言ったように、私はシステム管理者に連絡しました。connectをインストールした後、コマンドは次のようになります。

sftp -o "ProxyCommand connect -H proxy.ABCD.com:80 %h %p" [email protected]
3
Sandeep

SOCKSプロキシ経由でSFTPサーバーに接続するには、次のコマンド(Cygwin)を使用します。

sftp -oProxyCommand='nc -v -x<proxy address>:<port> %h %p' userid@Host
1
user2809072

Fedora 19でも、次の.ssh/configファイルで同じ問題が発生しました。

# Outside of the firewall, with HTTPS proxy
Host myhost.hostname.org
ProxyCommand corkscrew proxy 80 %h 443 ~/.ssh/auth.txt
# Inside the firewall (do not use proxy)
Host *
ProxyCommand connect %h %p

ラインを交換するだけで解決しました

ProxyCommand connect %h %p

と:

ProxyCommand connect-proxy %h %p
0
Mirko

上記のコメントに追加するだけですが、接続をインストールするフレンドリーなSAがなく、マシンにコンパイラがある場合は、接続を構築するのは非常に簡単です。 :

  1. http://www.pontusvision.com/?attachment_id=1316 からソースコードを取得します
  2. 次のコマンドラインを使用してコードをコンパイルします。

gcc connect.c -o connect -lresolv -lsocket -lnsl

次に、新しくコンパイルされた接続実行可能ファイルをパス内のディレクトリに追加します。

また、ユーザー名に@記号が含まれている場合は、次のコマンドを実行できます。

sftp -o "ProxyCommand connect -H [email protected]:80 %h %p " -o "User [email protected]" sftp.ABCD.com:32

0
Leo

ncコマンドが-xおよび-Xコマンドライン引数(例:Ncat: Version 7.50)を認識しないRHEL/CentOS 7クライアントおよびLinuxバージョンでは、動作するコマンドだろう:

sftp  -o ConnectTimeout=3 -o ProxyCommand='/usr/bin/nc --proxy-type http --proxy proxy.ABCD.com:80 %h %p' -oPort=32 [email protected]
0