如何使SSH直接转到特定目录?
当您执行“ssh第二台机器”时,您可以连接到主目录上的第二台机器 但通常我在路径很长的目录中的_机器上工作,我想连接到第二个_机器并立即移动到我的工作目录。所以每次我必须: ssh第二台机器如何使SSH直接转到特定目录?,ssh,directory,Ssh,Directory,当您执行“ssh第二台机器”时,您可以连接到主目录上的第二台机器 但通常我在路径很长的目录中的_机器上工作,我想连接到第二个_机器并立即移动到我的工作目录。所以每次我必须: ssh第二台机器 cd/very/long/path/to/directory/ 有没有办法让它自动化??(ssh自动转到所需的目录)这应该适合您 ssh -t second_machine "cd /very/long/path/to/directory/; bash" 假设您想要运行bash,如果需要,可以替换其他s
cd/very/long/path/to/directory/
有没有办法让它自动化??(ssh自动转到所需的目录)这应该适合您
ssh -t second_machine "cd /very/long/path/to/directory/; bash"
假设您想要运行bash,如果需要,可以替换其他shell。您可以执行类似于我正在使用的shell的操作。制作一个别名,如下所示
alias ssh 'ssh -t \!* "cd $PWD; csh"'
(这里,csh也可以被bash取代)
这会将您直接带到另一台机器上的“当前”路径。
使用方法类似于[$]ssh某些机器
然而,我发现它工作得很慢。因此,我正在寻找一种替代方法。要使其永久化,请在
~/.ssh/config
文件中使用RemoteCommand
,例如
Host myhost
HostName IP
User ubuntu
IdentityFile ~/.ssh/id_rsa
RemoteCommand cd /path/to/directory; $SHELL -il
相关的:
cd
)更改该shell中的cwd。4) 第二个命令,bash
启动一个新的shell,它从父进程(由ssh启动的原始shell)继承了cwd
,必须有一种方法在运行初始shell之前直接告诉ssh
,跳过许多步骤。这就解决了问题(和引号会导致RemoteCommand
!)出现问题,但它仅在SSH 7.6之后才可用。