当需要在两台主机间执行指令,可以用 SSH 直接传送要执行的指令,该远端主机直接执行,而无需登入另一台主机。
以下是具体指令的语法:
|
1 |
$ ssh user@remote.server 'ls -l' |
上面的 “user” 是登入帐号的使用者名称,remote.server 是远端主机,而 “ls -l” 是要执行的指令。当执行以上指令后,如果系统没有设定自动免密码登入,会询问远端主机的密码,输入密码后会在远端执行指令,并输出执行结果。
如果要同时执行多个指令,可以用 “;” 或 “&&” 分隔,例如:
|
1 |
$ ssh user@remote.server 'ls -l; ps -aux' |
或
|
1 |
$ ssh user@remote.server 'ls -l && ps -aux' |
如果需要用 Shell Script 执行远端指令,当需要在指令加入变量,需要将上面的单引号,改成双引号,例如:
|
1 |
$ ssh user@remote.server "ls -l $DIR" |
最后是执行类似 top 这类互动模式的指令,只要加入 -t 选项即可:
|
1 |
$ ssh -t user@remote.server 'top' |
除了 top 后,也可以用在 vi 等文字编辑器。