[英]SCP file from ssh session to localhost
我有一台無頭文件服務器,可以在其中存儲和管理下載以及媒體,但是有時我不得不將小文件傳輸回我的計算機(Mac,使用bash shell)。 問題在於某些文件具有更易於使用的名稱,並且通常在其中包含空格,它們被隱藏在我在服務器上設置的文件目錄層次結構中。
當我從本地計算機上使用scp
,我沒有制表符補全功能,因此我必須手動鍵入整個路徑和名稱,並使用轉義的空格。 當我ssh
到服務器第一,命令:
scp /home/me/files/file\ name\ with\ spaces.png Me@localhost:/Users/Me/MyDirectory
失敗,並顯示錯誤“權限被拒絕,請重試”,即使我正確輸入了本地計算機用戶密碼也是如此。
因為有人告訴我這可能是一個更好的文件傳輸工具,所以我學到了sftp
知識。 但是,該實用程序似乎已過時,在建立與服務器的連接后,我仍然沒有完成制表符的功能(在我的終端上,按Tab
我只會得到一個制表符)。
我的問題是:在Mac上使用scp
,如何允許制表符完成? 還是在ssh
會話中我為scp
使用了不正確的語法,並且該命令中有什么我應該修復的嗎? 或者,除了sftp之外,還有沒有(更好的?較新的?)工具可以在服務器上提供制表符完成功能?
最后,如果這些問題都沒有簡單的解決方案,那么是否可以安裝一些軟件包(例如,來自Homebrew的完成軟件包),以利於使用這些命令中的任意一個更好地完成Tab鍵?
在我看來這是一些不正確的scp
。
這是命令的格式
scp ./localFile.txt remoteUser@remoteHost:/remoteFile.txt
您是如此親密,但是在應將remoteHost
設置為localhost
位置。
localhost
是解析為您當前使用的計算機的名稱-因此,在工作流程中,您將ssh
切換到一台計算機,然后嘗試將該文件scp
放入已被ssh
切換到的同一台計算機。
您需要做的是找出您要連接的計算機的IP地址或物理主機名,然后改用它。
scp ./localFile.txt remoteUser@192.168.1.100:/remoteFile.txt
# where 192.168.1.100 would be the IP of your Mac
我假設您被拒絕訪問權限的原因是因為您使用的是Mac的登錄憑據,但在不知不覺中嘗試再次登錄到無頭計算機。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.