OpenSSHの連中が言ったように "scpプロトコルは古くなっています" 、scp後の日について考える時が来ました。
ただし、sftp
はインタラクティブな操作用に設計されているようです。 sftp
のようなscp
コマンドを使用する良い方法はありますか?つまり、sftp
でこれを行う方法は?
scp ./myfile myserver:/home/myfile
または、良いscp
の後継者はいますか?
sftp
command は確かにコマンド(ftp
など)を中心に構築されています。したがって、scp
のインプレース置換として機能することはできません。
次のようなワンライナーを使用できますが、
echo get /remote/path/file.txt /local/path.txt | sftp [email protected]
または
echo put /local/path.txt /remote/path/file.txt | sftp [email protected]
-b -
を追加して、非対話型モードを強制することもできます。
興味深いことに(@Kamilが述べたように)、ダウンロードには、次のscp
のような構文を使用することもできます。
sftp [email protected]:/remote/path/file.txt /local/path.txt
(2番目の引数の使用は文書化されていません)。
無料/オープンソース pscp
コマンドラインクライアント もあります。これはPuTTYパッケージで提供され、Linuxで利用できます(Windowsでより一般的に使用されます)。 OpenSSH scp
への同一コマンドラインインターフェイスがあります。ただし、その名前とscp
とは異なり、主に[〜#〜] sftp [〜#〜]クライアントです(フォールバックは可能ですが)サーバーがSFTPをサポートしていない場合は、SCPに送信します)。
その名前にもかかわらず、PSCP(他の多くの表面的なscpクライアントと同様)はこれらのプロトコルのいずれかを使用できます。
.。
通常、PSCPはSFTPプロトコルの使用を試み、サーバーでSFTPが使用できない場合にのみSCPプロトコルにフォールバックします。
PuTTY/pscpは次のようなapt-get
でインストールできます。
Sudo apt-get install -y PuTTY
Rsyncも検討する必要があります。 scpが許可するremote1-to-remote2転送を除いて、とにかくman scp
のクイックリードから、rsyncにそれらすべてを非常に簡単に実行させるか、そうでないラッパーを作成できるようです。無痛。
Rsyncには、多くのオプションを使用しなくても、デフォルトで得られる他の利点があります(つまり、古いファイルを置き換えるときにはるかに効率的です)。