System-Installation
在 FreeBSD 上獲取、驗證和下載安裝後腳本
我正在全新安裝 FreeBSD,並希望從私人 BitBucket 儲存庫下載並執行安裝後腳本。我的 fetch 嘗試返回身份驗證錯誤:
~# fetch "https://bitbucket.org/me/server/raw/abcde...xyz/post-install.sh" Certificate verification failed for /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV CA-1 34380949368:error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed:/usr/src/secure/lib/libssl/../../../crypto/openssl/ssl/s3_clnt.c:1180: fetch: https://bitbucket.org/me/server/raw/abcde...xyz/post-install.sh: Authentication error
有沒有辦法進行身份驗證(從命令行或提示輸入使用者名/密碼)並在不安裝其他軟體包的情況下下載文件?
編輯1:
以下
wget
命令確實有效:~# wget --no-check-certificate --user myname --password mypass "https://bitbucket.org/me/server/raw/abcde...xyz/post-install.sh" ~# wget --no-check-certificate "https://myname:mypass@bitbucket.org/me/server/raw/abcde...xyz/post-install.sh"
但是,以下
fetch
仍然失敗:~# fetch --no-verify-peer "https://myname:mypass@bitbucket.org/me/server/raw/abcde...xyz/post-install.sh"
但它不會拋出錯誤,它只是下載了錯誤的文件——一個 HTML BitBucket 登錄表單。
編輯2:
正如@SteveWills 推斷的那樣,BitBucket 不太關心
fetch
; 更改使用者代理允許身份驗證工作:~# fetch --no-verify-peer --user-agent "Wget/1.16 (freebsd10.0)" "https://myname:mypass@bitbucket.org/me/server/raw/abcde...xyz/post-install.sh"
添加 –no-verify-peer 選項將修復認證驗證錯誤。如果要進行身份驗證,只需將使用者/密碼添加到https://user:password@host.domain/path之類的 url