Rubyを使って、localからremoteへSSH接続してファイルをアップロードする方法です。
net/ssh、net/scpをrequireすることで行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 必要なライブラリ読み込み require 'net/ssh' require 'net/scp' # 設定情報 host = '54.238.221.113' # リモートサーバのホストを指定 user = 'ec2-user' # SSHログインするユーザ opt = { :keys => '~/.ssh/id_rsa', # 秘密鍵のパス :passphrase => 'xxxxx', # パスフレーズ :port => 22 # port } local_file = "/local/local.txt" # アップロードするファイルのパス remote_dir = "/home/ec2-user" # アップロード先のディレクトリ # コネクションを確立してアップロード Net::SSH.start(host, user, opt) do |ssh| ssh.scp.upload! local_file, remote_dir end |
以上