簡體   English   中英

從SSH會話到本地主機的SCP文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM