scpコマンドの代わり

その他

OpenSSH 8.0のリリースノートにscpは時代遅れという文言がある。そしてsftpやrsyncを使うことをお勧めしている。

https://www.openssh.com/txt/release-8.0

sftp

-> % ls
sample.txt

-> % sftp remote.server               
Connected to remote.server.
sftp> pwd
Remote working directory: /home/test
sftp> ls

# ローカル -> リモート 転送                       
sftp> put sample.txt
Uploading sample.txt to /home/test/sample.txt
sample.txt                                                                                                                                                                            100% 7606KB   7.6MB/s   00:00    
sftp> ls  
sample.txt

# ローカル -> リモート 転送(複数ファイル)                       
sftp> mput *.txt
Uploading sample.txt to /home/test/sample.txt
sample.txt                                                                                                                                                                           100% 7606KB   7.6MB/s   00:00 

# リモート -> ローカル 転送
sftp> get sample.txt
Fetching /home/test/sample.txt to sample.txt
/home/test/sample.txt                                                                                                                                                        100% 7606KB   7.6MB/s   00:00

# リモート -> ローカル 転送(複数ファイル)     
sftp> mget sample.txt
Fetching /home/test/sample.txt to sample.txt
/home/test/sample.txt                                                                                                                                                        100% 7606KB   7.6MB/s   00:00

sftp> exit

scpに慣れている人にとっては違和感があると思うが、あまりサーバ間でファイル転送しない者としては、パッと使ってみると使い心地は悪くなかった。限られた用途にはなりそうだが、stfpの対話コマンドも色々あるようなので、覚えておくと便利かもしれない。

Linuxコマンド【 sftp 】安全なファイル転送を行う - Linux入門 - Webkaru
sftpコマンドは、安全なファイル転送を行うコマンドです。

rsync

rsyncも試してみようと思ったが、sftpで満足できそうだったので省略。差分を転送するようなので、手元のソースコードをリモートにあげるみたいな使い方のよう。

とは言え

scpは長い間使われていたので、すぐになくなることはないらしい。ただ、セキュリティの面などから乗り換えた方が良さそうなので、今後はsftpなどを使うようにしたい。

https://gigazine.net/news/20201111-deprecating-scp/

コメント