14

プログラミングに関する質問ではありませんが、多くのプログラマーに関連しています...

別のコンピューターへの SSH セッションを開いているとしましょう。

remote:html avalys$ ls
welcome.msg index.html readme.txt
remote:html avalys$

現在のディレクトリ内のファイルの 1 つ (例:welcome.msg) をローカル コンピュータに即座に転送する、リモート シェルに入力できるコマンドはありますか?

remote:html avalys$ stransferwelcome.msg
/home/avalys/html/welcome.msg を welcome.msg
/home/avalys/html/welcome.msg に取得 100% 23KB 23.3KB/s 00:00
remote:html avalys$

私が知っている唯一の方法は、並列 SFTP セッションを開き、SSH セッションで現在のディレクトリに移動することです。これは、サーバーをリモートで管理する場合の本当の PITA です。

編集: リバース sftp/scp 接続を使用する可能性があることは認識していますが、それにはより多くの入力が必要です。コマンドの名前 (例: "stransfer") と転送したいファイルを入力して、そのまま実行できたら最高です。

4

9 に答える 9

8

このような逆転送接続を設定できます

ssh -Rport:127.0.0.1:22 user@host

バック用scp

を使っscp user@host:portてアクセスしてください。

于 2009-01-13T20:00:20.287 に答える
5

In researching this I found a program that works as a drop-in replacement for the openssh client, zssh.

sudo apt-get install zssh
zssh user@remote
sudo apt-get install zssh
sz file.name
<ctrl>+<space>
rz

Works like a charm.

于 2012-04-23T17:03:52.027 に答える
2

sshfs で ssh 接続をマウントできます。そうすれば、好きな ssh クライアントを使用しながら、同じ ssh 接続内でファイルを転送できます。必要に応じて、自動マウントするように設定することもできます。

于 2012-08-24T15:49:31.453 に答える
1

私は、ポール・トンブリンが質問へのコメントに書いたのと同じ考えを持っていました. 古い端末セッションでは、x、y、および z モデムのプロトコルとツール (szおよびrzz モデムの亜種) を使用して、このようなことを実現していました。これらが ssh セッションで機能するかどうかはわかりませんが、試してみる価値はあります。

Finklrzszは、 Mac OS X でこれらのツールを含むパッケージを提供します。

これをコミュニティ wiki にするのは、Paul が最初にそこに着いた後、担当者を獲得するのが悪いと思うからです...

于 2009-01-14T00:55:10.880 に答える
1

ファイル名の引数を取る stransfer という名前の bash スクリプトを作成すると、サーバーとサーバー上のファイルへのパスが変更されないと仮定して、scp コマンドにファイル名が挿入されます。

または、ファイルが常に同じである場合は、 ~/.bashrc ファイルにエイリアスを作成できます。

エイリアス getwelcome='scp avalys@remotehost:/home/avalys/html/welcome.msg .'

于 2009-01-13T20:19:20.373 に答える
1

パッチを適用することに興味がある場合 (IMHO にパッチを適用する必要はありません)、ssh-xfer をご覧ください。

于 2009-01-13T20:05:54.690 に答える
0

https://superuser.com/questions/259481/reverse-scp-over-ssh-connection

sftp server
get file.txt

どうやら、sftp コンソールで n 個の項目をナビゲートしてget、完全なファイルパスを取得することもできます。を実行したディレクトリにコピーしますsftp

于 2014-06-05T00:45:29.663 に答える
0

学校で、ある Linux システムから別の Linux システムにファイルを転送する場合、通常は ssh を使用してリモート接続し、scp を使用してリモート システムから自分のコンピューターにファイルを転送します。それがあなたが探しているものなのか、それともあなたのケースに当てはまるのかはわかりませんが、通常、それは別のターミナルウィンドウを開く必要があることを回避する私の方法です.

scpに慣れていないかどうかを明確にするために、コンピューターにファイルを置きたい場所を指定する必要がありますが、とにかく、これは通常、リモート上のファイルの場所よりも覚えやすいものです。コンピューター。役立つリンクは次のとおりです。 http://www.computerhope.com/unix/scp.htm

于 2009-01-13T19:56:10.903 に答える