更改 Linux 中的預設 SCP 命令標誌
我正在嘗試使用非常基本的
scp
命令將文件從本地系統上的虛擬機(Ubuntu 18.04)移動到遠端伺服器。這個問題只出現在一個特定的伺服器上,其他的工作正常,所以它不是一個通用的東西。scp <file name> <user>@<complete_hostname>:~/
但是此命令不會繼續進行成功的身份驗證。
當我使用 FileZilla 時也會發生同樣的情況。
IT 團隊建議我使用執行良好的“WinSCP”。
scp 調試日誌
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Trying private key: /home/username/.ssh/id_dsa debug1: Trying private key: /home/username/.ssh/id_ecdsa debug1: Next authentication method: password 'user'@'full hostname's password: debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = C debug1: Sending env LC_ALL = C debug1: Sending command: scp -v -t ~/
此後沒有任何進展,FileZilla 以類似方式在 20 秒後超時。而 WinSCP 工作正常。
什麼可能導致
scp
掛起,因為我在我的一些腳本中使用它,一個特定伺服器的這個問題使我的腳本在它們上無法使用,這也適用於 SFTP 方法。IT 團隊建議我不要使用這些標誌
-d
,並且-t
在發出命令時,調試日誌中會顯示相同的命令,並且不受遠端伺服器的支持。這些可以去掉嗎?我沒有明確地向他們發出命令。編輯2:
SCP Log: (from local machine, Ubuntu 18.04) ========== debug1: Next authentication method: publickey debug1: Offering public key: RSA SHA256:<key> /home/username/.ssh/id_rsa debug1: Server accepts key: pkalg ssh-rsa blen 279 debug1: Authentication succeeded (publickey). Authenticated to 'HOSTNAME' ([10.6.26.145]:22). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug1: pledge: network debug1: Sending environment. debug1: Sending env LANG = en_IN debug1: Sending command: scp -v -r -d -t ~/received/
事實證明,這是一個阻止傳輸的防火牆。原因是我的預設 shell 的**.*rc文件的文件權限。.cshrc**在這種情況下。
我的預設 shell 是 csh,文件權限是
-rwxr-s---
將這些更改為
-rw-r-----
解決了這個問題。
謝謝大家的幫助。
IT 團隊建議我不要使用這些標誌
-d
,並且-t
在發出命令時,調試日誌中會顯示相同的命令,並且不受遠端伺服器的支持。這些可以去掉嗎?我沒有明確地向他們發出命令。
-t
- 這完全是胡說八道。SCP 協議不能在沒有-t
標誌的情況下工作。請參閱SCP(安全複製協議)文件傳輸如何工作?
-d
- 當您指定多個來源時使用它。它向伺服器指示“目標應該是目錄”。在這兩種情況下,我都懷疑伺服器不支持其中任何一種。由於它是 Ubuntu,它以 99.9% 的確定性執行 OpenSSH。OpenSSH 自從存在以來就支持這些標誌。見
scp.c
1999 年。我很確定你得到的建議只是一派胡言。“ *IT 團隊”*可能只是沒有在
scp
手冊頁中找到這些開關,並且找到了真正幫助您的簡單方法。scp
但是這些標誌是用於在“客戶端”和scp
“伺服器”之間進行通信的內部標誌。它們沒有按目的記錄。FileZilla 甚至不支持 SCP 協議。*僅對上述有貢獻-您的問題與任何“
scp
標誌”*無關。