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