我的SSH配置文件中有一个快捷方式,它运行良好,但我想要做的是让不同的别名跳转到服务器上的不同目录。 所以,如果我输入
ssh domain1
它连接并自动cd
进入domain1的目录。
有办法吗?像
这样的东西Host dev1
Hostname example.com
User myname
Dir domains/domain1/
Host dev2
Hostname example.com
User myname
Dir domains/domain2/
答案 0 :(得分:18)
在这篇文章on ServerFault中,他们说你无法通过ssh配置文件完成所有工作。但是你可以使用ssh配置和你的.bash_profile或终端书呆子调用它。 在ssh配置文件中添加
Host dev
Hostname server.com
User joe
然后在.bash_profile中添加别名
alias domain1="ssh dev -t 'cd domains/domain1; bash'"
此处dev
指的是您在配置文件中设置的内容。
在终端中,只需输入domain1
,系统会要求您输入密码并直接进入目录。为您的所有域创建一个新别名,它将使每个域的登录变得非常容易。
答案 1 :(得分:3)
看一看 https://serverfault.com/questions/167416/change-directory-automatically-on-ssh-login
这是接受的答案:
您要做的事情无法通过SSH实现;你需要以某种方式修改shell,例如通过bashrc / bash_profile。
为了完整起见,您可以ssh -t
更改目录(我知道这不是您的问题,但可能有助于其他人):
ssh server -t "cd /my/remote/directory; bash --login"