linux SCP免密傳輸檔案
1 帶密碼的scp傳輸
從client端傳輸檔案到server端。
client端傳送檔案到指定ip的目錄下:
輸入密碼後,檢視server端是否接收到檔案:
2 在client端生成金鑰對
/usr/local/app/.ssh路徑即為: ~/.ssh
3 在client端將生成的公鑰拷貝到server端的~/.ssh目錄下
如果~/.ssh目錄不存在,則建立該目錄
拷貝前只有兩個檔案:
拷貝檔案:
拷貝後server下的檔案:
最好是把id_rsa.pub拷貝到server中的目錄下,再追加到authorized_keys檔案中,如果只拷貝id_rsa.pub裡面的內容,可能會出現拷貝多了字元或少了字元的錯誤,導致無法無密傳輸。
如果該資料夾下無authorized_keys,則建立該檔案,並將剛剛傳過來的id_rsa.pub新增到該檔案的後面
4 檢驗無密傳輸
client無密傳送檔案:
server端接收到的檔案:
5 scp與ssh的關係
SCP是Secure Copy的簡稱,是用來與遠端主機之間進行資料傳輸的協議,相當於經過加密的Copy命令。SCP資料傳輸使用 ssh協議,並且和ssh 使用相同的認證方式,提供相同的安全保證 。 根據實際需要,scp進行驗證時會要求你輸入密碼或口令。
不管SCP還是SFTP,都是SSH的功能之一,也都是使用SSH協議來傳輸檔案的。
6 ssh無密登入原理分析
至此我們可以知道,$HOME目錄即為/usr/local/app,並且很多系統未指定解壓路徑時,由crontab解壓的檔案會放到$HOME目錄下面。
嘗試ssh登入:
可以看出重127.0.0.1的機器登入到了25機器上。
登入時,我們沒有使用使用者名稱,原因如下:
7 參考文章:
(1) scp 免密文章
https://www.jianshu.com/p/b96ca7e5a8f6
https://blog.csdn.net/xyang81/article/details/51477925
https://cloud.tencent.com/developer/article/1042350
(2) ssh原理文章
http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html