ssh 远程执行命令
在远程主机执行一条命令后返回
语法
ssh [用户名@]主机 '命令'说明
适用于自动化巡检或快速查看远程状态。命令作为 ssh 的参数传入,不会启动交互式 shell,因此别名、函数和交互式提示符都不可用。是否会被本地 shell 展开取决于引号用法:单引号表示原样传给远端,双引号则由本地先展开。命令的退出码会成为 ssh 的退出码,可用于脚本判断。
参数
-t强制分配伪终端,适合需要 sudo 或交互的命令
命令必填在远端执行的命令字符串
示例
查看远程磁盘占用
非交互方式快速获取信息。
ssh deploy@example.com 'df -h && uptime'注意事项:单引号可避免本地 shell 展开 $ 变量与通配符,涉及远端变量时优先使用单引号。
需要交互的执行
为 sudo 等需要终端环境的命令分配伪终端。
ssh -t deploy@example.com 'sudo systemctl restart my-app'注意事项:缺少 -t 时 sudo 常报 'no tty present'。远程执行重启类命令前应确认影响范围。