此軟體已遭棄用
本文件適用於已遭棄用的軟體,不再提供任何安全性更新或社群支援。 基於歷史原因,本文件仍保留供查閱。
在正式環境中,你應搭配 Pterodactyl Panel 1.0 安裝並使用 Wings。
警告
獨立 SFTP 支援是在 [email protected] 與 [email protected] 中才引入的,舊版本並不支援這項功能。
Pterodactyl 現在多了一個新選擇:你可以改用獨立 SFTP 伺服器 (opens new window),不必再依賴 Daemon 內建的 SFTP 功能。 簡單來說,這麼做能帶來更好的 SFTP 用戶端相容性、更快的傳輸速度,以及更接近原生的檔案處理與伺服器運作方式。
由於這項功能相對較新,我們決定採用選擇加入(opt-in)而非選擇退出的方式,也就是說預設不會自動套用。接下來就一步步說明,該怎麼設定這台獨立 SFTP 伺服器。
第一步,要先關掉 Daemon 內建的 SFTP 伺服器,才不會兩邊互相衝突。做法很簡單,只要在 Daemon 的 core.json 檔案裡加入 sftp.enabled=false 即可。
{
...
"sftp": {
...
"ip": "0.0.0.0",
"enabled": false,
"port": 2022,
...
},
...
}
改完之後重新啟動 Daemon,變更就會生效,內建伺服器也就不會再啟動了。
接下來輪到獨立伺服器本身。若要下載它,請在 Daemon 的基礎目錄(通常是 /srv/daemon)中執行下方命令。
curl -Lo sftp-server https://github.com/pterodactyl/sftp-server/releases/download/v1.0.5/sftp-server
chmod +x sftp-server
到這裡你就已經取得伺服器執行檔了。這裡有個小知識:這個伺服器是用 go (opens new window) 撰寫的,所以不需要再另外安裝其他相依套件,直接就能執行。
最後一步,啟動 SFTP 伺服器,之後就可以用它來存取檔案了。
./sftp-server
預設情況下,它會沿用舊版慣用的 2022 連接埠來啟動。如果你想改用其他連接埠,可以透過 --port 旗標指定。
如果還想了解更多進階用法,可以參閱 GitHub README (opens new window),裡面列出了所有可用旗標與對應的預設值。
一般來說,你會希望用 systemd 把 SFTP 伺服器變成常駐服務,讓它在背景持續運作,而不用手動每次執行。請將下方內容放入 /etc/systemd/system 目錄中,
建立一個名為 pterosftp.service 的檔案。
[Unit]
Description=Pterodactyl Standalone SFTP Server
After=wings.service
[Service]
User=root
WorkingDirectory=/srv/daemon
LimitNOFILE=4096
PIDFile=/var/run/wings/sftp.pid
ExecStart=/srv/daemon/sftp-server
Restart=on-failure
StartLimitInterval=600
[Install]
WantedBy=multi-user.target
檔案建好之後,執行下方命令,讓 systemd 啟用並啟動這個 SFTP 伺服器。
systemctl enable --now pterosftp
如果你想在用 systemd 啟動時額外傳入一些引數,只要修改 ExecStart 這一行就好。例如:ExecStart=/srv/daemon/sftp-server --port 2022。