問題是:我用 python 做了一些東西,幾乎可以在 Windows 以外的任何作業系統上使用,並且我被告知要評估/使用/嘗試它的人只有 Windows 可用。所有可用的控制台模擬器都失敗了,我無法選擇重寫程式碼或在這些電腦中安裝虛擬機器。
截止日期是 8 小時,這就是我的想法:
以我的伺服器為例,建立一個只能啟動該檔案的無密碼使用者(例如,使用應用程式名稱)或一個別名(啟動該檔案)並啟動 ssh 伺服器。
然後他們所要做的就是 ssh 進入機器,程式就會彈出。這是一個純文字控制台,所以不會有問題。
問題是,我不知道該如何讓 Linux 用戶受到限制。我怎樣才能做到這一點?伺服器只是一個測試機,它不保存重要數據,並且通常關閉或離線工作,因此安全性在這裡並不是一個大問題。我只是想讓這個工作。此外,該解決方案不會是永久性的,我只需要它明天工作約 7 個小時,然後我就可以自由地擺弄它並使其正常工作。
編輯:儘管我很欣賞充滿訊息的冗長答案,但我必須告訴你現在是凌晨 4:30,我已經起床近兩天了,我快要在鍵盤上昏倒了。所以請不要添加任何不必要的內容,我無法處理它。
答案1
您可以透過執行 SSH 授權金鑰來允許無密碼登錄ssh-keygen
,這會產生公鑰和私鑰。用戶需要私鑰才能登錄,伺服器需要公鑰,~/.ssh/authorized_keys
您可以在以下位置獲取更多信息
如何設定 ssh 以免要求您輸入密碼
關於限制,您可以為該使用者建立一個 chroot 環境,這更安全,但需要做更多工作,或者您可以對授權金鑰進行一些限制:
command="/your/script/path/filename",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pry YOUR-SSH-KEY
您可以獲得更多信息管理 SSH 腳本和 cron 作業
答案2
我無法建立無密碼用戶,但我使用用戶名和密碼建立了一個用戶名,並在我新增的 /etc/ssh/sshd_config 檔案中建立了一個用戶Match User testuser
,ForceCommand python /path/file.py
這樣任何人都可以登入(登入資訊位於該伺服器的網站中)請參閱程序,然後在程序關閉時自動登出。