如何在 Linux 上通过 SSH 进入特定目录

您是否曾经遇到过想要通过 SSH 连接到远程服务器并立即 cd 进入目录的情况? 是的? 好吧,你在正确的轨道上! 这个简短的教程描述了如何直接通过 SSH 连接到 Linux 上的特定目录。 含义 – 我们可以在通过 SSH 登录远程系统时自动切换到特定目录。 不仅仅是通过 SSH 进入特定目录,甚至可以在通过 SSH 连接到远程服务器后立即运行任何命令。

内容

  1. SSH 进入远程 Linux 系统的特定目录
    1. 在远程系统上创建一个目录并自动通过 SSH 进入该目录
    2. 使更改永久化
    3. 在远程 Linux 系统上通过 SSH 执行命令
      1. 帮助我们帮助您:

SSH 进入远程 Linux 系统的特定目录

在我知道这种方法之前,我通常会先使用以下命令通过 SSH 连接到远程远程系统:

$ ssh [email protected]

然后 cd 进入如下目录:

$ cd <some-directory>

这就是我如何切换到远程系统中的目录。 不再! 无需使用两个单独的命令!!

例如,以下命令允许我通过 SSH 进入远程系统 (192.168.225.52),并自动 cd 进入名为“dir1”的目录:

$ ssh -t [email protected] 'cd /home/ostechnix/dir1 ; bash'

上面的命令将通过 SSH 连接到远程系统 (192.168.225.52) 并立即 cd 进入名为的目录 ‘/home/ostechnix/dir1’ 目录,最后将您留在远程系统的外壳中。

在这里, -t 标志用于强制伪终端分配,这是交互式 shell 所必需的。 如果不指定此标志,则不会出现提示。 而且如果你不添加 ” bash” 在上述命令结束时,连接将终止并将控制权返回给本地系统。

以下是上述命令的示例输出:

以下是通过 SSH 连接到特定目录的更多示例命令:

$ ssh -t [email protected] 'cd /home/ostechnix/dir1 ; bash --login' 

在这里, – 登录 标志集“bash” 作为登录外壳。

或者,

$ ssh -t [email protected] 'cd /home/ostechnix/dir1 ; exec bash'

或者,

$ ssh -t [email protected] 'cd /home/ostechnix/dir1 && exec bash -l'

在这里, -l 标志集“bash” 作为登录外壳。

在上面的例子中,我已经明确提到 bash 作为登录外壳。 因为,我知道 Bash 是我远程系统中的默认 shell。 如果您不知道远程系统上的 shell 类型,请使用以下命令:

$ ssh -t [email protected] 'cd /home/ostechnix/dir1 && exec $SHELL'

在远程系统上创建一个目录并自动通过 SSH 进入该目录

如果您尝试通过 SSH 连接到远程系统中不存在的目录,则在成功验证后您将看到以下消息:

bash: line 0: cd: /home/ostechnix/dir2: No such file or directory

如您所见,名为“dir2”的目录在远程系统中不可用。 如果要在远程系统中创建目录并通过 SSH 自动 cd 进入该目录,只需从本地系统运行以下命令:

$ ssh -t [email protected] 'mkdir -p dir2 ; cd /home/ostechnix/dir2 ; bash --login'