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
どこが間違っているのですか?または、コマンドを正しく指定する方法は?前もって感謝します!
問題は、SFTPサーバー上のシェルがコマンドconnect
を見つけられないことです。 2つの考えられる原因:
$PATH
_が設定されていません。 connect
を_/usr/bin/connect
_または$(which connect)
に置き換えてみてください。または、SSHでログインして、このプログラムを見つけます。connect
がインストールされていません。本機のシステム管理者に連絡してください。Schotが言ったように、私はシステム管理者に連絡しました。connectをインストールした後、コマンドは次のようになります。
sftp -o "ProxyCommand connect -H proxy.ABCD.com:80 %h %p" [email protected]
SOCKSプロキシ経由でSFTPサーバーに接続するには、次のコマンド(Cygwin)を使用します。
sftp -oProxyCommand='nc -v -x<proxy address>:<port> %h %p' userid@Host
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
上記のコメントに追加するだけですが、接続をインストールするフレンドリーなSAがなく、マシンにコンパイラがある場合は、接続を構築するのは非常に簡単です。 :
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
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]