Centos

更改我 SSH 到 CentOS 伺服器時的預設路徑?

  • July 22, 2017

我有一個 CentOS 5.7 Web 伺服器,我想更改使用 SSH 連接時登陸的預設位置。

目前我登陸/home/username,我想登陸/home

我以 root 身份進入並添加PermitUserEnvironment yes/etc/.ssh/sshd_config- 據我了解,這會掃描使用者自己的ssh文件夾以查找environment文件。我不確定的正是我添加到這個環境文件中的內容,因為export path=$PATH:$HOME它似乎不起作用,無論是在這裡還是在我的 .bashrc 或 .bash_profile 文件中(據我所知,這不會有什麼區別無論如何,因為 SSH 連接是非互動式外殼?)。

提前致謝。

如果您使用 PAM 進行身份驗證,這可能是最有可能的。作為根頭進入/etc/passwd

在那裡你應該看到你的使用者名和路徑!在那裡改變它,你就可以自由回家了!

編輯 - 抱歉,我剛剛想到您可能不想更改您的主文件夾。在這種情況下,只需添加:

cd /home

.bashrc文件的底部!

要記住的是,它~/.ssh/environment是在生成 shell 或ssh命令之前讀取的,因此(例如)export 和 $PATH 都沒有意義。您只能在此處設置環境變數(不能執行一般的 shell 命令)。

如果您獲取非互動式 ssh shell 的環境,然後對其進行修改,您應該得到您想要的非互動式命令。例如:

$ ssh mylogin@myserver env

將為您提供 ssh 在您的伺服器上以什麼開頭。如果您將~/.ssh/environment文件編寫為:

PATH=/usr/local/bin

並重新執行上面的,你應該得到“bash: env: command not found”。好的!

現在,根據系統的基礎sshd(即第一個“ssh …. env”呼叫)顯式建構路徑,例如(/usr/local/bin在頭部添加):

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

另請注意,嘗試設置 CWD ~/.ssh/rc(在~/.ssh/environment讀取之後,但在您的sshshell 或命令之前執行)是沒有用的,因為您的 shell 將(預設情況下)在您的主路徑中啟動。

引用自:https://unix.stackexchange.com/questions/32470