我的 Mac OS X 有很多問題。因此,我嘗試將注意力集中在 FTP 上,似乎更容易調試,而且可能這對兩種服務來說都是一個問題。
首先我啟用 ftpd:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
然後我嘗試ftp。但什麼也沒有。我收到標準錯誤:操作逾時。
之後我又嘗試了一下,在MacBook Pro上做了一個tcpdump。對我來說看起來不錯:
tdmacpro:~ root# tcpdump port 21
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Packet Tap), capture size 65535 bytes
17:32:53.539323 IP 192.168.0.58.49191 > 192.168.0.2.ftp: Flags [S], seq 2091779555, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 271391148 ecr 0,sackOK,eol], length 0
因此資料包已到達 MacBook Pro,但它沒有回應。
之後,我在 MacBook Pro 上建立了一個新的虛擬機,以確保沒有任何切換會出現任何問題。然後ftp客戶端就在我的虛擬機器中了。但同樣的錯誤。
之後我嘗試了 ftp user@MBP_IP,再次出現相同的錯誤。
之後我禁用了 fptd
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
並手動啟動 ftpd
/usr/libexec/ftpd -d -D -l -U
又是同樣的問題。
然後我使用另一個終端並做了一個:
ftp localhost
這有效。所以我認為 ftpd 配置正確。但我也ftp.plist
透過新安裝來控制。內容相同。
那麼是否有人對如何隔離問題或如何解決問題有任何進一步的建議?
答案1
您正在嘗試透過以下方式連線:
ftp localhost
當我相信你想要哪一個是當今每個人/每件事都使用的sftp
SSH 變體;ftp
非 SSH ftp 太脆弱了。所以試試這個:
sftp localhost
或這個:
sftp user@localhost
答案2
所以我解決了這個問題。用戶LaunchDaemons 目錄中還有另一個檔案。該檔案的啟動命令列開關錯誤。刪除該檔案後,存取成功。