当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux下使用SSH远程执行命令方法收集

    栏目:Linux/apache问题 时间:2019-10-11 14:26

    说明:可以做SSH免密登录之后执行,这样可以省去每次执行输入密码的提示。

    对于简单的命令:

    如果是简单执行几个命令,则:

    ssh user@remoteNode "cd /home ; ls"

    基本能完成常用的对于远程节点的管理了,几个注意的点:

    双引号,必须有。如果不加双引号,第二个ls命令在本地执行 分号,两个命令之间用分号隔开 多行命令可以输入双引号后回车,结尾使用双引号包裹

    对于脚本的方式:

    有些远程执行的命令内容较多,单一命令无法完成,考虑脚本方式实现:

    #!/bin/bash
    ssh user@remoteNode > /dev/null 2>&1 << eeooff
    cd /home
    touch abcdefg.txt
    exit
    eeooff
    echo done!

    远程执行的内容在”<< eeooff“至”eeooff“之间,在远程机器上的操作就位于其中,注意的点:

    << eeooff,ssh后直到遇到eeooff这样的内容结束,eeooff可以随便修改成其他形式。

    重定向目的在于不显示远程的输出了

    在结束前,加exit退出远程节点

    执行本地的脚本

    我们在本地创建一个脚本文件test.sh,内容为:

    ls
    pwd
    echo $0

    然后运行下面的命令:

    ssh root@xxx.xxx.xxx.xxx < test.sh

    带参数本地脚本

    ssh root@xxx.xxx.xxx.xxx 'bash -s' < test.sh helloworld

    执行远程服务器上的脚本

    ssh root@xxx.xxx.xxx.xxx "/home/nick/test.sh"

    执行远程服务器上带参数的脚本

    ssh root@xxx.xxx.xxx.xxx /home/nick/test.sh helloworld

    总结

    以上所述是小编给大家介绍的Linux下使用SSH远程执行命令方法收集,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对IIS7站长之家网站的支持!
    如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!