这是我之前问题的扩展。我需要在 ssh 登录时在远程机器上运行本地存储的命令(即mount /home)。目前,我正在使用:
ssh -t mymachine.example.com 'mount /home ; /bin/bash'
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我想知道是否可以将此命令放入我的命令中,.ssh/config这样我就不必每次都输入它。我找到了一个LocalCommand选项,但我没有看到任何RemoteCommand选项。
重要的是将command-to-be-executed其存储在本地计算机上,因为它将包含打开加密磁盘的密码。这就是我无法将命令放入.profile远程机器的原因。
小智 7
这是在 OpenSSH 7.6 中添加的:
添加 RemoteCommand 选项以在 ssh 配置文件中指定命令,而不是在客户端的命令行上提供。这允许配置文件指定将在远程主机上执行的命令。
参考:https : //www.openssh.com/txt/release-7.6
之前在 SuperUser 上已经问过这个问题。第一个答案使用不符合您要求的远程文件,但建议使用本地别名的第二个答案可能是您问题的解决方案。
将要执行的命令存储在本地机器上很重要,因为它将包含打开加密磁盘的密码。这就是我无法将命令放入远程机器上的 .profile 的原因。
这可能不安全。如果我将echo命令用作 ssh 命令,它会显示在ps远程服务器上:
martin@martin ~ % ssh dev2 "echo hello; ps aux|grep echo"
hello
root 25358 0.0 0.0 5848 1296 ? Ss 11:27 0:00 bash -c echo hello; ps aux|grep echo
root 25362 0.0 0.0 5012 828 ? S 11:27 0:00 grep echo
Run Code Online (Sandbox Code Playgroud)