SSH配置文件别名以获取服务器上的目录

时间:2013-01-17 20:51:17

标签: ssh alias config

我的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/

2 个答案:

答案 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"