执行远程命令

SSH 登录成功后,用户就进入了远程主机的命令行环境,所看到的提示符,就是远程主机的提示符。这时,你就可以输入想要在远程主机执行的命令。

另一种执行远程命令的方法,是将命令直接写在ssh命令的后面。

$ ssh username@hostname command

上面的命令会使得 SSH 在登录成功后,立刻在远程主机上执行命令command

下面是一个例子。

$ ssh foo@server.example.com cat /etc/hosts

上面的命令会在登录成功后,立即远程执行命令cat /etc/hosts

采用这种语法执行命令时,ssh 客户端不会提供互动式的 Shell 环境,而是直接远程命令的执行结果输出在命令行。但是,有些命令需要互动式的 Shell 环境,这时就要使用-t参数。

# 报错
$ ssh remote.server.com emacs
emacs: standard input is not a tty

# 不报错
$ ssh -t server.example.com emacs

上面代码中,emacs命令需要一个互动式 Shell,所以报错。只有加上-t参数,ssh 才会分配一个互动式 Shell。

© 2017~ 随风逐叶 all right reserved,powered by Gitbook文章修订时间: 2021-04-25 11:45:22

results matching ""

    No results matching ""