很多時候,本地測試服務器想把文件傳到線上服務器的時候,很多人都是通過登陸線上服務器ssh 傳輸,這樣挺危險的,很多弊端....所以我找了下方法,發現scp挺好用的!
模擬環境:
192.168.147.130 線下測試服務器
192.168.147.128 線上服務器
如果想把 1.txt 傳遞到線上服務器,則可以使用一下命令
scp /www/1.txt [email protected]:/www
會提示輸入密碼:[email protected]'s password:
這樣這個文件,就會被傳遞到線上服務器了,雖然這樣,但是一直輸入線上服務器密碼也不好,而且麻煩.....
我們可以讓線上服務器對測試服務器授權,這樣測試服務器就可以直接傳輸文件了。因爲大部分,測試服務器在本地,所以相對安全。。。。
配置線下測試服務器 192.168.147.130
sh-keygen -b 1024 -t rsa
會顯示如下內容,並按2次回車Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): <-- 直接輸入回車
Enter same passphrase again: <-- 直接輸入回車
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1c root@Client
將公鑰證書id_rsa.pub複製到線上服務器的root家目錄的.ssh子目錄中,同時將文件名更換爲authorized_keys,完成授權操作
這裏我們還是可以用scp命令
scp -p /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys
輸入密碼,完成上傳。。。。再次運行上傳,則就可以無密碼上傳
scp /www/1.txt [email protected]:/www
其實大家,這樣可以寫個shell,這樣可以更方面自己管理。。甚至可以保存文件,做版本控制器都可以的。。方便自己回滾。