Linux
當我 SSH 到伺服器時更改預設目錄
我想知道是否有辦法更改我在 SSH 進入我的 Ubuntu 伺服器後放入的預設目錄。
當我登錄到我的伺服器時,99% 的時間是訪問特定目錄中的文件:
/var/www/websites
是否有一個我可以編輯的配置文件,以確保我在登錄時直接進入該目錄?
有三種方法可以實現這一點:
- 添加
cd /var/www/websites
到您的.bash_profile
. 這僅對互動式登錄(例如 ssh)執行。- 添加
cd /var/www/websites
到您的.bashrc
. 我在我們的 puppetmasters 上使用這個,因為我總是想在 /etc/puppet/environments/dkaarsemaker 那里而不是我的 homedir :-)- 將伺服器上的主目錄更改為 /var/www/websites(這不是一個好主意)
**警告!**首先在非必要帳戶上嘗試此操作,因為如果您在命令中出錯,您可能會失去對遠端系統的訪問權限。
如果您使用密鑰進行 SSH 登錄,那麼您可以通過在遠端伺服器上
command=
的密鑰之前添加前綴來更改路徑。例子:~/.ssh/authorized_keys
command="cd /var/www/websites ; /bin/bash -l" ssh-rsa AAA.....rest of the key
可以為同一個使用者生成和使用多個密鑰。伺服器上的一個鍵可能包含另一個可能不包含的命令 - 這樣您就可以在登錄時選擇預期的行為。你可以簡單地用local
~/.ssh/config
包裝它:Host websites-my-host HostName <realhostname> IdentityFile ~/.ssh/<key1> #on the server key with "command" User webmaster Host my-host HostName <realhostname> IdentityFile ~/.ssh/<key2> #on the server key without command User webmaster
這將發生:
local$ ssh websites-my-host webmaster@realhostname:/var/www/websites$ _
或者:
local$ ssh my-host webmaster@realhostname:~$ _