原理就是通過將本地的公鑰添加到遠程的服務器賬戶下,然后通過bash 實現文件的拷貝
所以需要bash,git , 以及公鑰的配置流程
有管理員權限的可忽略方案1,2 准備工作,直接在windows系統中添加bash,git環境變量即可(本人是由於電腦是公家的,沒有管理員權限,才這么折騰)
首先不管有沒有管理員權限都需要安裝Git(安裝這個是不需要管理員權限的哈)
安裝就不說了,免費軟件,一直點下一步就安裝ok啦
起因:想通過bash直接將遠程服務器的code拿到本地
可是公司電腦用戶沒有管理員權限,無法直接添加環境變量
方案一:
windows下通過命令行設置環境變量
set 設置臨時環境變量
1、查看所有環境變量:cmd輸入set查看
2、查看環境變量:set path
3、修改環境變量:set 變量名=變量內容 例如:set path = "XXXX",覆蓋path的值
4、添加環境變量:set 變量名=變量內容
setx 可以永久設置環境變量
1、setx /m 永久設置環境變量
2、setx /m name "value"
3、setx -m 永久追加環境變量
4、setx -m name "%name%;value"
查看環境變量:
C:\Users\ren.wang> echo %PATH%

setx /m PATH "%PATH%;D:\Git\bin"

#帶/m表示全局,不帶/m表示當前用戶
錯誤: 拒絕訪問注冊表路徑 (
可是又回到最初的問題,沒有管理員權限,無法訪問Gpedit.msc)
單擊“開始→運行”,輸入“Gpedit.msc”后回車,打開“組策略”。然后,依次展開“用戶配置→管理模板→系統”,雙擊右側窗口中的“阻止訪問注冊表編輯工具”,在彈出的窗口中選擇“已禁用”,“確定”后再退出“組策略”,即可為注冊表解鎖。
方案二
把需要添加的應用程序移到已有環境變量對應目錄,這樣就相當於也配置了環境變量
前面Git安裝后會默認配置 環境變量 D:\Git\cmd ,所以我這里就直接把 Git/bin下面需要用到的幾個文件拷貝到此目錄下

好了,現在就相當於有環境變量關聯了。
如何生成公鑰?
一般公鑰生產會在此目錄下:

不過可能你是第一次使用github
尋找.ssh文件夾秘鑰時候,發現電腦里沒有這個文件夾。
解決方法如下: 如果是第一次使用github,先去官網注冊,注冊后有用戶名,郵箱和密碼。
打開GIT bash 寫上命令:
1.git config --global user.name “XXX” xxx代表你的用戶名
2.git config --global user.email "XXX@XXX.com" 輸入郵箱
3.生成一個新的SSH密鑰 打開 Git Bash,輸入如下命令,
ssh-keygen -t rsa -C "your_email@example.com"
直接
ssh-keygen 也可以,郵箱不是必須參數 ,然后連續按三個回車即可
然后會出來提示Enter file in which to save the key 后面是一個路徑,
你就會找到你想要的.ssh文件夾了,去電腦里找吧。

公鑰就生成了

配置公鑰:
通過scp免密在windows和Linux服務器之間復制文件
ssh-copy-id命令把本地的ssh公鑰文件添加到遠程主機對應的賬戶下
cd ~/.ssh/ // remote_username = 遠程Linux服務器用戶名 // remote_ip = 遠程linux服務器IP地址 ssh-copy-id -i ~/.ssh/id_rsa.pub remote_username@remote_ip
成功后會生成下面這個文件

scp配置測試:
// remote_username = 遠程Linux服務器用戶名 // remote_ip = 遠程linux服務器IP地址 scp local_file remote_username@remote_ip:remote_file scp remote_username@remote_ip:remote_file .
本地復制文件到 remote host)

如上所示已經將ttt.txt復制到遠程服務器上了,反之 scp remote_username@remote_ip:remote_file . 即可將遠程服務器文件拉到本地來

注意:此方法的的前提是你的網絡是能訪問到遠程服務器的情況下才可 , 若是你的網絡本身無法訪問服務器,那就不用想了,肯定拿不到文件也傳不了文件,不然公司的文件不是誰都可以亂動了嗎

如上圖所示 ssh: Could not resolve hostname 一般就是網絡沒權限導致