SSH接続を介したリバースSCP


17

ラップトップにいるときは、サーバーからのファイルが必要になることがよくあります。しかし、そのファイルがどこにあるかわからない場合は、sshサーバーを調べて、周りを見て、、exitそしてscp server:file .。デスクトップとサーバーの両方で静的IPを使用している場合、逆にファイルをSCP(scp desktop:~ file)するだけで済みますが、ラップトップではできません。SSH接続でファイルを逆方向​​にSCPする良い方法はありますか?SSHで接続するコンピューターがクライアントにファイルを逆方向​​に送信するようにしますか?


なぜmDNSを使用しないのですか?
イグナシオバスケス-エイブラムス

1
:私はこの質問はすでに正しくここで回答されていることを信じていunix.stackexchange.com/a/2869
shellster

回答:


20

これは、SFTPのほうがはるかに簡単です。SFTPは、SCPよりも複雑なファイル操作をサポートするSSHの拡張機能です。事実上すべての最新のUnixおよびLinuxディストリビューションがサポートしています。使用するには、次のコマンドを実行してサーバーに接続します。

sftp server

次に、lsおよびcdコマンドを使用して、探しているファイルを参照して見つけることができます。見つかったら、getコマンドを使用してダウンロードします。たとえばfile.txt、サーバーの現在の作業ディレクトリからローカルマシンの現在の作業ディレクトリにダウンロードするには、次を実行します。

get file.txt

/home/pavpanchekha/textfiles/file.txtサーバーから~/textfiles/ローカルマシンにダウンロードするには、代わりに次を実行します。

get /home/pavpanchekha/textfiles/file.txt ~/textfiles/

逆に、この方法でファイルをアップロードすることもできます。file.txtローカルの現在の作業ディレクトリからサーバーの現在の作業ディレクトリにアップロードするには、次のように入力します。

put file.txt

次のように、それぞれに完全なパスを使用することもできますget

put ~/textfiles/file.txt /home/pavpanchekha/textfiles/file.txt

使用可能なSFTPコマンドの完全なリストについてはhelpsftp>プロンプトで実行してください。


1
これはかなりクールです、ありがとう。すでにSSH接続している場合、逆に起動する方法はありますか?それ以外の場合、ファイルを転送し、SSH接続を終了し、SFTP接続を作成し、それを終了し、SSHに戻ることを認識して、どこかでsshを実行します。
pavpanchekha

2
@pav:SSH_CLIENT環境変数には、接続ホストのIPアドレスなどの情報が含まれています。これを使用してシェルエイリアスを作成し、元のホストに簡単にSFTPで戻すことができます。~/.bashrcサーバーに次の行を追加します。alias sftpback="sftp $(echo $SSH_CLIENT | awk '{print $1}')" 変更を有効にするためにSSHから切断して再接続するか、コマンドのように実行してすぐに有効にします。そこから、sftpbackSFTPを実行して、どのクライアントであるかに関係なく、接続元のクライアントに戻ることができます。
パッチ

これが最高です!!! NANO(オンラインでファイルを編集)から私を救ってくれてありがとう。
モーシン

0

コンソールファイルマネージャーMidnight Commander(mc)には、リモートサーバーへのSFTP接続/ファイル管理を可能にするVFSシステムがあります。また、Windows上のCygwinでも実行されます。デフォルトのインターフェースには、2つの独立したパネルが表示されます。それらの1つでSFTPリモートディレクトリを開き、他のパネルとの間でファイルを簡単に転送できます。構文を強調表示するファイルエディター/ビューアー(mcedit)が含まれています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.