2021-05-12 14:32:11
解決SSH登入使用者執行的命令部分環境變數引數不生效的問題
2020-06-16 16:51:30
問題概況
Linux機器在/etc/profile設定完成環境變數後,SSH到目標機器執行命令,但是獲取不到已設定的環境變數值。
例如場景:
在/etc/profile設定了http代理
export all_proxy=http://$PROXY_HOST:8118
export ftp_proxy=http://$PROXY_HOST:8118
export http_proxy=http://$PROXY_HOST:8118
export https_proxy=http://$PROXY_HOST:8118
然後 SSH 目標機器,並通過pm2 start app.js 啟動應用程式,但是應用程式的請求走不到http代理程式。
解決辦法
在 /etc/bashrc 檔案中,把設定的那一坨也仍進去。就OK了。
問題原因
SSH 登入預設為非shell登入方式,而非shell登入方式執行的是bashrc指令碼初始化環境變數。
而shell登入方式則是執行的是profile指令碼初始化環境變數。
即
參考資料很好的說明了這個問題,就不搬磚了。
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-05/152542.htm
相關文章