パーミッション問題が発生するので回避方法
OPCセグメント→AWSセグメントにトンネルを経由して送受信
ファイルをAWS→OPCにコピー
1.ログイン経路を確保。(1行で到達する方法)
myproject-web.pemを用意した上で
ホームディレクトリ/.ssh下にconfigを作成で1行でsshログインできます。
(ex./root/.ssh/)
「パーミッション:600」にする
↓中身
#OCI-0_205
Host oci_ope_web
Hostname 10.0.0.205
User opc
IdentityFile ~opc/.ssh/id_rsa
#AWS-0_205
Host ope_web
Hostname 106.133.79.64
User ec2-user
IdentityFile ~opc/myproject-web.pem
ProxyCommand ssh oci_ope_web -W %h:%p
#AWS-0_206
Host ope_web_stg
Hostname 10.0.0.206
User ec2-user
IdentityFile ~opc/myproject-web.pem
ProxyCommand ssh ope_web -W %h:%p
#AWS-1_035
Host ope_db1
Hostname 10.0.1.35
User ec2-user
IdentityFile ~opc/myproject-web.pem
ProxyCommand ssh ope_web -W %h:%p
#AWS-1_036
Host ope_db2
Hostname 10.0.1.36
User ec2-user
IdentityFile ~opc/myproject-web.pem
ProxyCommand ssh ope_web -W %h:%p
「ssh db1」でope_webへのログインを手作業で経ることなくAWS内の10.0.1.35にダイレクトログイン。
参考にしたURL
SSHコマンドで多段接続する方法(config設定、秘密鍵利用)
https://rurukblog.com/post/ssh-multi-stage/
他の方法でもトンネルを掘る方法はあります。
👇
踏み台で sudo -u しているsshでの ssh_config
https://qiita.com/shase428q/items/c796188b9840eaec9ead
踏み台サーバを飛び越えて一発で目的のサーバへsshする方法
https://qiita.com/hkak03key/items/3b0c4752bfbcc52e676d
2.到達先でのroot権限を確保。(通常のやり方では「1.」でログインした平ユーザーでの権限になってしまう)
ローカルLinuxでは「sudo su」でroot化。
リモートLinuxでは「rsync」のオプションを使いroot権限で読み・書きする。
#プロンプトはrootにて実行している状態
AWS内での205(まず2つファイル作成)
[root@ip-10-0-0-205 ec2-user]# ll who-am-i*
-rw------- 1 ec2-user ec2-user 13 Jun 16 10:36 who-am-i0616a.txt
-rw------- 1 root root 15 Jun 16 10:36 who-am-i0616b.txt
[root@ip-10-0-0-205 ec2-user]# pwd
/home/ec2-user
[root@ip-10-0-0-205 ec2-user]#
OPC内での205(↑で作った2ファイルのパーミッションを変えずに持ってくる)
[root@0205oci_opeweb opc]# ll who-am-i0616*
ls: cannot access 'who-am-i0616*': No such file or directory
[root@0205oci_opeweb opc]# rsync -arp --rsync-path="sudo rsync" ope_web:/home/ec2-user/who-am-i0616a.txt /home/opc
[root@0205oci_opeweb opc]# rsync -arp --rsync-path="sudo rsync" ope_web:/home/ec2-user/who-am-i0616b.txt /home/opc
[root@0205oci_opeweb opc]# ll who-am-i0616*
-rw------- 1 ec2-user ec2-user 13 Jun 16 10:36 who-am-i0616a.txt
-rw------- 1 root root 15 Jun 16 10:36 who-am-i0616b.txt
[root@0205oci_opeweb opc]# pwd
/home/opc
[root@0205oci_opeweb opc]#
↑所有者とグループがec2-userになっているファイルはそれぞれopcに変更する必要がありますが、リスキーな手間は無くなるかと思います。
参考URL
root権限でrsyncを実行する
https://ex1.m-yabe.com/archives/6104
(👇コチラも参考になります。)
「SSHホスト鍵が変わってるよ!」と怒られたときの対処
https://qiita.com/hnw/items/0eeee62ce403b8d6a23c
練習として作ったコマンド
rsync -arp --rsync-path="sudo rsync" ope_web:/home/ec2-user/who-am-i0616a.txt /home/opc
rsync -arp --rsync-path="sudo rsync" ope_web:/home/ec2-user/who-am-i0616b.txt /home/opc