使用Ubuntu SSH远程执行命令可以极大地提高工作效率。以下是一些有用的技巧:
远程执行命令
-
单条命令执行:使用
ssh
命令连接到远程主机并执行命令,例如:ssh nick@xxx.xxx.xxx.xxx "df -h"
这将在远程主机上执行
df -h
命令,并将结果返回给本地终端。 -
多条命令执行:使用分号
;
在同一命令中执行多个命令,例如:ssh nick@xxx.xxx.xxx.xxx "pwd; cat hello.txt"
这将首先执行
pwd
命令,然后执行cat hello.txt
命令。 -
交互式命令执行:对于需要交互的命令,可以使用
-t
参数强制分配伪终端,例如:ssh -t nick@xxx.xxx.xxx.xxx "sudo ls /root"
这将保持 SSH 会话并允许你与远程主机进行交互。
-
执行本地脚本:可以将本地脚本复制到远程主机并执行,例如:
ssh nick@xxx.xxx.xxx.xxx < test.sh
如果需要为脚本传递参数,可以在命令中指定,例如:
ssh nick@xxx.xxx.xxx.xxx < "test.sh helloworld" ```。
高级技巧
-
并行执行命令:可以使用 PowerShell 编写脚本,通过 SSH 并行执行命令于多个远程服务器。
-
无密码 SSH 登录:通过生成 SSH 密钥对并将公钥添加到远程服务器的
authorized_keys
文件中,可以实现无密码 SSH 登录,从而提高安全性。 -
X11 转发:在需要远程执行图形界面命令时,可以使用 X11 转发功能,在本地显示远程服务器上的图形界面。
通过掌握这些技巧,你可以更高效地使用 SSH 进行远程命令执行和管理。