支援
RVM 由志工社群維護,請將問題回報至 RVM 問題追蹤器。
如果您能提供協助或希望成為維護人員之一,請開始提供協助。您可以在 RVM Github 組織 找到更多與 RVM 相關的專案。
贊助商
Carbon Ads

安全性

在 RVM,我們非常重視安全性,並對所有版本和 rvm-installer 腳本進行加密簽章(自版本 1.26.0 起),以確保其來自真實來源。

GPG

我們使用 GPG 進行簽章。gpggpg2 都可以使用。

有時 gpg 會在從遠端伺服器下載金鑰時遇到問題,如果您的系統可以使用 gpg2,最好使用 gpg2。然而,據回報,版本 2.1.17 的 gpg2 也會受到此問題影響。我們建議您將其降級或升級至較新版本。

安裝我們的金鑰

請務必只信任您信任的人的金鑰,如果您信任執行我們的程式碼,請信任我們的金鑰。以下是我們維護人員的金鑰

409B6B1796C275462A1703113804BB82D39DC0E3 # mpapis
7D2BAF1CF37B13E2069D6956105BD0E739499BDB # pkuczynski

作為第一步,在嘗試安裝 RVM 之前,您應該安裝 gpg2 並匯入這些金鑰

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

如果您在上述金鑰伺服器遇到問題,請嘗試其他伺服器。以下提供一些備選方案

防火牆問題

如果匯入 gpg 金鑰一直停滯,可能是防火牆問題。如果您在防火牆後方,請務必開啟傳出埠 11371(TCP)。

IPv6 問題

已知的問題是,如果您的主機未啟用 IPv6(通常發生在 docker 容器中),某些金鑰伺服器可能會無法連線。您可以透過將以下行新增至 ~/.gnupg/dirmngr.conf 來禁止 gpg 內部的 dirmngr 使用 IPv6

disable-ipv6

請確認沒有任何現有的 dirmngr 程序仍在執行(如果有,請將其終止),然後再次嘗試 gpg --recv-keys 命令,如最初指定的,它應該可以正常運作。

請注意,此處的風險是,如果您真的在某個時間點需要 IPv6,您可能會忘記這個設定,但對大多數人來說,這不太可能發生。

替代方案

或者,您可能想直接從我們的網路伺服器匯入金鑰,儘管這是一種安全性較低的方式

curl -sSL https://rvm.dev.org.tw/mpapis.asc | gpg --import -
curl -sSL https://rvm.dev.org.tw/pkuczynski.asc | gpg --import -

Keybase

我們金鑰的身分可於 keybase.io 確認

信任我們的金鑰

echo 409B6B1796C275462A1703113804BB82D39DC0E3:6: | gpg2 --import-ownertrust # mpapis@gmail.com
echo 7D2BAF1CF37B13E2069D6956105BD0E739499BDB:6: | gpg2 --import-ownertrust # piotr.kuczynski@gmail.com

執行已驗證的安裝

我們通常建議在各處使用下列指令執行安裝

\curl -sSL https://get.rvm.io | bash -s stable

這應相當安全,但如果您想確保安裝程式來自有效來源,您可以執行手動驗證的安裝

\curl -sSL https://raw.githubusercontent.com/rvm/rvm/stable/binscripts/rvm-installer     -o rvm-installer &&
\curl -sSL https://raw.githubusercontent.com/rvm/rvm/stable/binscripts/rvm-installer.asc -o rvm-installer.asc &&
\gpg2 --verify rvm-installer.asc rvm-installer &&
\bash rvm-installer

驗證程序會自動執行更新,且會無法安裝具有無效簽章的新版本。

定期更新金鑰

定期更新金鑰狀態以確保沒有任何金鑰遭到撤銷,這是一個好習慣。您也可以將其新增至 cron。

    gpg2 --refresh-keys