osx*_*ser 5 linux remote-desktop ssh bash command-line
我想向远程计算机中运行的所有打开的终端进程打印一些字符串。目前我正在使用 ssh 连接远程计算机,然后将我的字符串回显到wall命令中:
local> ssh me@1.2.3.4
(prompt to provide credentials)
remote> echo "123" | wall
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在一个命令中完成所有操作,无需用户交互即可运行?
mas*_*ice 10
您将需要设置基于 SSH 密钥的身份验证,以便不需要输入密码。
在客户端计算机上,运行以下命令将当前用户的公钥复制到服务器的authorized_hosts文件中:
ssh-copy-id me@1.2.3.4
<enter password>
Run Code Online (Sandbox Code Playgroud)
确保您现在不需要输入密码:
ssh me@1.2.3.4 true
Run Code Online (Sandbox Code Playgroud)
然后只需将命令附加到 SSH 命令,如下所示:
ssh me@1.2.3.4 'echo asdf | wall'
Run Code Online (Sandbox Code Playgroud)
您可能需要-tt在 SSH 中使用该标志,以确保在 TTY 中运行该命令。
请注意单引号',它们确保管道|不会被本地 shell 解析。
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |