通过 ssh 从 ssh-remote 服务器将终端命令发送回本地?
Posted
技术标签:
【中文标题】通过 ssh 从 ssh-remote 服务器将终端命令发送回本地?【英文标题】:Sending terminal commands from ssh-remote server back to local through ssh? 【发布时间】:2018-08-17 16:00:42 【问题描述】:我正在尝试从远程 linux 服务器向本地 Mac 发送终端命令。这是目前要生成的 本地通知
(using terminal command:
"""osascript -e 'display notification "Message" with title "Title" subtitle "Subtitle" sound name "chimp"')"""
对于由我在服务器上运行的应用程序确定的更改,但我认为,如果我对此进行了排序, 稍后我可能会将其用于其他用途/发送/交换其他命令。 目前,我首先在服务器中 ssh。我不完全理解这个过程,因为它是在我的 系统。有人能解释一下这是如何实现的吗?
PS:能够将我的/本地/接收者 IP 保留为变量并使用该变量会很有帮助,因为我可能不得不对多个系统执行此操作,或者有时更改我自己的 ip。此外,实施密码保护以便只有我的应用程序/管理员可以更改/使用此频道会有所帮助。
【问题讨论】:
【参考方案1】:您可以在远程主机上创建一个脚本:
SSH 到您的本地计算机 执行osascript
命令
但是你需要配置它,这样当脚本通过 SSH 连接到你的本地机器时你就不必输入密码了。为此,您可以将远程主机(可能是 root)上用户的公共 SSH 密钥复制到本地计算机上用户的 ~/.ssh/authorized_keys
文件中。
在远程主机上:
# copy the public key for the user on the remote host to the local host
cat ~/.ssh/id_rsa.pub | ssh <user>@<your-local-machine> 'cat >> ~/.ssh/authorized_keys'
然后写一个脚本保存到远程主机上
#!/bin/bash
ssh <user>@<your-local-machine> osascript -e 'display notification "Message" with title "Title" subtitle "Subtitle" sound name "chimp"'
远程主机上的程序可以在适当的时候执行该脚本。
如果您需要通过 SSH 连接到新机器,则必须再次复制 SSH 密钥并更改脚本中的 <your-local-machine>
地址。
【讨论】:
以上是关于通过 ssh 从 ssh-remote 服务器将终端命令发送回本地?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 SSH 隧道通过 AWS 堡垒/跳转服务器从笔记本电脑访问 phpMyAdmin 到使用 .ssh/config 的 EC2 实例
GitHub 操作:通过 SSH 从 GitHub 访问服务器
通过 ssh 多次跳转后从服务器传输文件,net cat 不可用
如何通过主机从外部通过 SSH 连接到 VirtualBox 来宾? [关闭]