centos間でssh接続したい。
バージョンは何でもOKだと思うが、今回はcentos7と8。
#条件
windows → centos のssh接続(鍵認証)ができている
centos サーバー
163.xxx.xxx.xxx (接続元)
133.xxx.xxx.xxx (接続先)
今回は 163 から 133 にssh接続(鍵認証)する
#まずはSSH接続できるように
・windows側
Rlogin の SSH認証鍵 より どの id_rsa を使用しているか確認し、
上記ファイルをテキストで開いて中身をコピー。
・centos側 163.xxx.xxx.xxx (接続元)
上記コピーしたのを id_rsa ファイルを作成し貼り付け。
パーミッションも変更しておく。
vim id_rsa
chmod 600 id_rsa
さぁ、接続してみよう
ssh -i [鍵ファイル] [ユーザー名][接続先IP] で接続
ssh -i id_rsa hideki@133.xxx.xxx.xxx
ここまででSSH接続OK
SCPでファイルを転送
上記完了していたら、あとは簡単。
1つのファイルを転送
scp -i id_rsa /home/hideki/hoge.txt hideki@133.xxx.xxx.xxx:/home/hideki/hoge.txt
パーミッションを維持しつつフォルダごと転送
scp -i id_rsa -pr /home/hideki/hoge hideki@133.xxx.xxx.xxx:/home/hideki/hoge
SCPでファイルを転送もOK
圧縮して転送
転送するのに時間かかるから、圧縮したいよね
アーカイブする場合は、絶対パスは使わず相対パスを使う。
(展開したときに絶対パスで展開されちゃうらしい)
まずはhogeフォルダを圧縮
(パーミッション等を保持)
tar cvzfp bup.tar.gz hoge
そして転送
scp -i id_rsa -pr /home/hideki/bup.tar.gz hideki@133.xxx.xxx.xxx:/home/hideki/bup.tar.gz
つづいて解凍
tar xvzfp bup.tar.gz