运行 Azure Linux VM 通过 Azure 自动化执行 SSH 命令

Run SSH commands on Azure Linux VM via Azure Automation

我正在尝试使用 azure 自动化在 Azure 上的 Linux 虚拟机上执行 运行 SSH 命令,但无法建立连接。我已经尝试了几个 SSH 模块。错误是:

GraphTrace:{ Activity:"New-SshSession",
Event:"ActivityOutput",          Time:"2017-10-12T11:10:10.6189570Z",
Values:{ Status:"OK", Data:["Unable to connect to 52.xxx.xxx.xxx: Exception calling \"Connect\" with \"0\" argument(s): 
\"Session operation has timed out\""] }

52.xxx.xxx.xxx is the pip

Module is: SSHSessions (v1.8)

为了测试,我没有使用参数,而是使用了可以直接从 BASH shell 连接的用户名、密码和 IP(+端口)。 NSG 有 22 个对所有人开放

(该脚本仅用于备份数据库 (Neo4j)。我选择使用自动化而不是 DSC,因此我可以避免 运行 在 VM 上安装更多模块,但对其他想法持开放态度有一种方法可以做到这一点,我有点 linux 菜鸟,所以只是通过黑客攻击!)

谢谢!

目前,New-SshSession 命令不适用于 Azure 自动化 运行 书籍,因为 Azure 自动化 运行 脚本具有 SYSTEM 帐户。

作为解决方法,我们可以将 Azure custom script extension 与 Linux VM 一起使用,编写脚本并将其上传到 Azure,然后将该扩展名用于 运行 它。
更多关于Azure自定义扩展的信息,请参考这篇link.

顺便说一句,New-SshSession适用于Azure HybridWorker,也许我们可以尝试使用它。

这里 feedback 关于自动化 运行 书籍 SSH 到 Linux 虚拟机,我投了赞成票,该反馈将由 Microsoft 工程团队监控和审查。