「尚未認識…的金鑰」或「…的金鑰已變更」

AnyBucket 會將每台 SFTP 伺服器的主機金鑰與你自己的 ~/.ssh/known_hosts 比對,也就是終端機使用的同一個檔案。金鑰是新的或已變更時,它會詢問你。

尚未認識的金鑰,在第一次連線到伺服器時是正常的。

  1. 在伺服器管理員公佈指紋的地方找到它,或直接詢問管理員。如果是你自己管理的伺服器,ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub 會顯示指紋。
  2. 將它與 AnyBucket 顯示的指紋比對。
  3. 只有在兩者一致時才信任。AnyBucket 會將它加入 known_hosts,從此終端機也會認得它。

金鑰已變更,在伺服器重建或搬移後是預期中的情況。否則請不要連線:可能有人介入你和伺服器之間。

  1. 向伺服器管理員確認金鑰確實已變更。
  2. 在終端機中移除舊的金鑰:ssh-keygen -R example.com(請使用你連線時用的主機名稱或位址)。
  3. 重新連線,並依照上述方式檢查新的指紋。

SFTP 金鑰或跳板主機無法使用

AnyBucket 執行 /usr/bin/ssh,也就是 macOS 內建的 ssh。凡是在終端機中能以 ssh user@host 使用的,在 AnyBucket 中也能使用:你的代理程式、你的 ~/.ssh/config(Host、IdentityFile、ProxyJump)以及安全金鑰。

因此,請先在終端機中嘗試同一台主機:

  1. 用與書籤相同的使用者和主機名稱執行 ssh user@host。
  2. 如果失敗,執行 ssh -v user@host,查看它提供了哪些金鑰、在哪裡停下。
  3. 在終端機中修正:用 ssh-add 將金鑰加入代理程式、在 ~/.ssh/config 中為該主機設定 IdentityFile,或為位於堡壘主機後方的主機加入一行 ProxyJump。
  4. 在終端機中可以使用後,在 AnyBucket 中用相同的使用者和主機名稱重新連線。

詳情請參閱 SSH 金鑰與跳板主機。

FTPS 無法連線

AnyBucket 透過一個小型 Python 橋接程式處理 FTPS 的 TLS,因此 FTPS 需要 Apple Command Line Tools 中的 python3。

  1. 打開終端機,執行 python3 --version。
  2. 如果 macOS 提議安裝 Command Line Tools,或找不到該指令,請執行 xcode-select --install,然後依照提示操作。
  3. 重新連線。

自我簽署憑證? AnyBucket 會詢問一次是否信任它,並為該書籤記住你的選擇。信任非預期的憑證之前,請先向伺服器管理員確認。

還是無法連線?請確認伺服器在它的 FTP 連接埠上提供明確 TLS。AnyBucket 以被動模式連線,大多數防火牆都允許這種方式。

S3 相容儲存空間列不出內容或拒絕連線

Amazon S3 以外的儲存空間需要各自的端點,而且許多都要求路徑式位址。

  1. 編輯書籤(或選擇服務供應商專屬的圖塊:Cloudflare R2、Backblaze B2、Wasabi、DigitalOcean Spaces 或 Google Cloud Storage)。
  2. 若是其他儲存空間,請選擇 S3 相容,並設定服務供應商提供給你的端點 URL。
  3. 若是 MinIO、LocalStack 和大多數自行架設的儲存空間,請開啟路徑式儲存貯體。
  4. 向服務供應商確認該存取金鑰有權限列出儲存貯體的內容。

傳輸停止了

暫時性的失敗,例如連線中斷、逾時或伺服器重新啟動,會在 1、3 和 8 秒後自動以新的連線重試。你通常不會察覺。

仍然失敗的傳輸會連同錯誤訊息,在兩個地方的需要處理下等待:

  • 「傳輸」視窗(⌥⌘T)
  • 選單列面板

閱讀錯誤訊息,排除原因(磁碟已滿、伺服器上的權限、密碼過期),然後按下重試。傳輸會從中斷處繼續。

如果你結束 AnyBucket,或 Mac 重新啟動,中斷的傳輸會在你再次打開它時回來。佇列保存在 ~/Library/Application Support/AnyBucket/ 中。

沒有通知

  1. 打開系統設定 → 通知,找到 AnyBucket 並允許通知。
  2. 在 AnyBucket 中打開設定 → 通知。這裡會顯示 macOS 是否允許通知,每一種通知也都有各自的開關:批次完成、失敗、連線中斷、同步完成和授權問題。

當 AnyBucket 在背景執行,或批次傳輸花了一段時間時,才會通知批次完成,因此你看著它完成的快速拷貝不會跳出通知。

AnyBucket 又要求輸入授權

沒有網路時,AnyBucket 在最後一次成功檢查授權後,可繼續使用七天。之後它會要求再次檢查。

  1. 確認 Mac 已連上網路,然後打開 AnyBucket。下一次檢查就會重新計算這七天。
  2. 如果 Polar 拒絕了啟用,例如這台 Mac 已在客戶入口網站中被移除,請選擇 AnyBucket → 管理授權⋯,停用後再用你的金鑰重新啟用。
  3. 如果你的兩台 Mac 都已啟用,請先停用其中一台。請參閱授權與更新。

還是沒解決?

請寄電子郵件至 support@clevermechanisms.dev。每一封信都會有人閱讀。為了盡快得到回覆,請附上:

  • 你的 macOS 版本和 AnyBucket 版本,可在 AnyBucket → 關於 AnyBucket 中查看
  • 通訊協定,若是 S3 請附上服務供應商
  • 你做了什麼、預期會發生什麼,以及確切的錯誤訊息
  • 若是 SFTP,請說明 ssh user@host 在終端機中是否可以使用

請絕對不要傳送密碼、祕密金鑰或你的授權金鑰。