ssh 到计算机(包括路径)不起作用

ssh 到计算机(包括路径)不起作用

当我使用它时ssh username@IP ,它可以工作,然后我可以使用它 cd 来导航到 /path/dir

当我使用ssh username@IP:/path/dir 它时不起作用。

错误信息是:

ssh: Could not resolve hostname IP:/path/dir: Name or service not known

如何才能ssh username@IP:/path/dir在所需的目录中打开?

rsync我需要它通过 ssh 隧道连接到特定目录。

答案1

SSH 和命令

如何让 ssh username@IP:/path/dir 在所需目录中打开?

如果你想ssh进入给定的路径,你可以使用:

ssh USER@SERVER -t "cd /path/dir; bash --login"

或者

ssh -i /PathToKey -p PORT USER@SERVER -t "cd /path/dir; bash --login"

或者

ssh -i /PathToKey -p PORT USER@SERVER -t "cd /path/dir; $SHELL --login"
  • -i如果您使用公钥身份验证
  • -p如果您在 sshd_config 中设置了端口
  • -t保持用户交互的连接
  • "command"在引号中
  • 命令1+2|并启动bash --login后需要保持连接cdbash
  • 命令3|需要在启动用户首选程序$SHELL --login后保持连接cdshell

通过 SSH 进行 RSYNC

我需要这个来通过 ssh 隧道 rsync 到特定目录。

您会rsync在远程计算机本身上运行吗?

在远程计算机上运行rsync后,但您需要什么进入路径?sshcd

如果您想rsync从本地到远程或从远程到本地计算机运行。

传输文件的一般语法rsync如下:

Local to Remote: rsync [OPTION]... -e ssh [SRC]... [USER@]HOST:DEST
Remote to Local: rsync [OPTION]... -e ssh [USER@]HOST:SRC... [DEST]

local to remote

rsync -a /localpath/file user@server:/remotepath/

remote to local

rsync -a user@server:/remotepath/file /localpath/

如何通过 SSH 使用 Rsync 传输文件

保险丝/SSHFS:

用于sshfs/fuse在本地机器上挂载远程路径并在本地机器上使用rsynccp

如何使用 SSHFS

SCP

用于scp复制/传输 remote to local或者local to remote

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

如何使用SCP命令安全传输文件

我个人使用并且更喜欢fuse/sshfs

答案2

如何才能ssh username@IP:/path/dir在所需的目录中打开?

一点也不。ssh是一种远程shell访问方法和网络转发工具;它不会“打开目录”或类似的东西。
您似乎将其与scpor混淆了rsyncssh本身没有语法可以像您想要的那样更改工作目录,在这里。

然而,

我需要这个来rsync通过 ssh 隧道到达特定目录。

这是没有意义的,rsync不关心ssh服务器端运行的任何内容的工作目录。隧道rsync只是意味着隧道网络数据包。

所以,你想做的事情没有必要,也没有帮助。

相关内容