踏み台サーバーからSCPコマンドでファイルをアップロード・ダウンロードする

こんにちは。ぐっさんです。
 
セキュリティ要件も高まり、サーバーにアクセスする際に踏み台サーバーを経由しなければ、アクセスできないようにすることも増えてきました。
 
踏み台サーバーを導入することのセキュリティー向上の観点と、各サーバーへアップロード・ダウンロードする際のコマンドを備忘のため、ブログに書いておきます。

踏み台サーバーでセキュリティ向上

踏み台サーバーとは、目的のサーバーにログインするための中継サーバーのことです。
 
目的のサーバーにアクセスする際に、必ず踏み台サーバーを経由することで、目的のサーバーがアクセスを許可するサーバーは踏み台サーバーのみにすることができます。また、入り口を統一することで、アクセス履歴を容易に取ることが可能です。

踏み台サーバーからアップロード

踏み台サーバーから目的のサーバーへファイルをアップロードするSCPコマンドは、下記になります。

scp -p -i /etc/security/[keyfile.pem] ./[upload.file] [user]@[ip_address]:~/

 
上記のコマンドで踏み台サーバーにアップロードしたファイルを、目的のサーバーへアップロードできます。

踏み台サーバーにダウンロード

踏み台サーバーから目的のサーバーへファイルをダウンロードするSCPコマンドは、下記になります。

scp -p -i /etc/security/[keyfile.pem] [user]@[ip_address]:/home/ec2-user/[download.file] ./

 
上記のコマンドで目的のサーバーから、踏み台サーバーにファイルをダウンロードすることができます。

番外編:TeraTermマクロを利用して、踏み台サーバー経由のサーバーログインを自動化

下記のマクロをttlファイルとして保存することで、踏み台サーバー経由のサーバーログインを自動化できます。

call login
call exec
end

:login
	username = '[踏み台サーバーログインユーザー]'
	hostname = '[踏み台サーバーIPアドレス]'
	password = ''
	keyfile = 'C:\[keyfile.pem]'
	msg = hostname
	strconcat msg ':[踏み台サーバーポート] /ssh /auth=publickey /user='
	strconcat msg username
	strconcat msg ' /keyfile='
	strconcat msg keyfile
	strconcat msg ' /passwd="'
	strconcat msg password
	strconcat msg '"'
	connect msg
return

:exec
wait ']'
sendln 'ssh -i /etc/security/[keyfile.pem] [目的サーバーユーザー]@[目的サーバーIPアドレス]'
sendln 'sudo su'
return

踏み台サーバーを利用することが増えてきていると思いますので、是非このページをブックマークして、メモ代わりに利用ください。
 
それでは、良い踏み台ライフを! ぐっさんでした。

記事をシェア
MOST VIEWED ARTICLES