如何將遠程服務器上的文件拿到本地(且本地電腦無管理員權限)


原理就是通過將本地的公鑰添加到遠程的服務器賬戶下,然后通過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%
 
0
 
setx /m PATH "%PATH%;D:\Git\bin"
0
 
#帶/m表示全局,不帶/m表示當前用戶
錯誤: 拒絕訪問注冊表路徑 ( 可是又回到最初的問題,沒有管理員權限,無法訪問Gpedit.msc
單擊“開始→運行”,輸入“Gpedit.msc”后回車,打開“組策略”。然后,依次展開“用戶配置→管理模板→系統”,雙擊右側窗口中的“阻止訪問注冊表編輯工具”,在彈出的窗口中選擇“已禁用”,“確定”后再退出“組策略”,即可為注冊表解鎖。
 
方案二
把需要添加的應用程序移到已有環境變量對應目錄,這樣就相當於也配置了環境變量
前面Git安裝后會默認配置 環境變量 D:\Git\cmd ,所以我這里就直接把 Git/bin下面需要用到的幾個文件拷貝到此目錄下
0
 
好了,現在就相當於有環境變量關聯了。
 
 
如何生成公鑰?
一般公鑰生產會在此目錄下:

 

 不過可能你是第一次使用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文件夾了,去電腦里找吧。

 

公鑰就生成了
0

 

 

配置公鑰:

通過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
成功后會生成下面這個文件
0
 
 
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)
0
 
如上所示已經將ttt.txt復制到遠程服務器上了,反之 scp remote_username@remote_ip:remote_file .  即可將遠程服務器文件拉到本地來
 
0
 
 
注意:此方法的的前提是你的網絡是能訪問到遠程服務器的情況下才可 , 若是你的網絡本身無法訪問服務器,那就不用想了,肯定拿不到文件也傳不了文件,不然公司的文件不是誰都可以亂動了嗎

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM