LoginSignup
3
1
お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

scpやsftpを使わずにsshだけでファイルをアップロードする

Posted at

単一ファイルのみの場合

ローカル側のファイルlocal.txtをcatで読み込み、それをsshにパイプして、サーバー側でファイルupload.txtにリダイレクトすることでアップロードができます。

※Windowsの場合、git-bash(gitをインストールするとついてくる)が必要です

cat local.txt | ssh -i *****.pem user@server "cat > ~/upload.txt"

複数ファイルをアップロードする場合

複数ファイルをアップロードしたい場合は、catの代わりにtarを使いアーカイブしてから転送します

  1. ローカル側でtarを使ってファイルをまとめる
  2. サーバーへアップロード(パイプで転送)する
  3. サーバー側で解凍する
# ローカルの転送ディレクトリ、リモートの出力先ディレクトリを指定する
LOCAL_DIR=*****   # ./test_upload
UPLOAD_DIR=*****  # ./
tar -zcf - $LOCAL_DIR | ssh -i *****.pem user@server "tar zxf - -C $UPLOAD_DIR"
  • tar の-は「標準入力/出力」を入出力先として利用するためのオプション
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1