【问题标题】:How to make SSH go directly to specific directory?如何使 SSH 直接进入特定目录?
【发布时间】:2010-04-07 15:08:48
【问题描述】:

当您执行“ssh second_machine”时,您可以连接到主目录上的 second_machine

但通常我在路径很长的目录中的 my_machine 中工作,我想连接到 second_machine 并立即移动到我的工作目录。所以每次我必须:

ssh second_machine
cd /very/long/path/to/directory/

有没有办法让它自动? (ssh会自动转到想要的目录)

【问题讨论】:

标签: ssh directory


【解决方案1】:

这应该适合你

ssh  -t second_machine "cd /very/long/path/to/directory/; bash"

假设您要运行 bash,如果需要,请替换不同的 shell。

【讨论】:

  • 符合规格!!谢谢:)
  • 这是有效的,因为:1) ssh 在 homedir 中启动一个 shell。 2) 该外壳执行传递的命令。 3) 第一个命令(shell 命令,cd)更改该 shell 中的 cwd。 4)第二条命令bash启动一个新的shell,继承父进程的cwd(原来的shell是ssh启动的)
  • 必须有办法直接告诉ssh在运行初始shell之前更改cwd,跳过很多步骤。
【解决方案2】:

要使其永久化,请在您的~/.ssh/config 文件中使用RemoteCommand,例如

Host myhost
  HostName IP
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  RemoteCommand cd /path/to/directory; $SHELL -il

相关:

【讨论】:

  • 这解决了(引号导致RemoteCommand 出现问题!),但它仅在 SSH 7.6 之后可用。
【解决方案3】:

你可以像我正在使用的那样做一些事情。制作一个别名,如下所示。

alias ssh 'ssh -t \!* "cd $PWD; csh"'

(这里csh也可以用bash代替)

这会将您直接带到另一台机器上的“当前”路径。 用法就像 [$] ssh 一些机器 但是,我发现它运行缓慢。所以,我正在寻找替代方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    相关资源
    最近更新 更多