如何在Linux中使用SSH进行远程执行命令?

Linux SSH远程执行

前提条件

如何在Linux中使用SSH进行远程执行命令?插图1
(图片来源网络,侵删)
描述 详情
配置SSH免密码登录 确保在本地和远程主机之间已设置好基于公钥的身份验证,以便无需输入密码即可进行SSH连接。

基本命令格式

命令 说明
ssh user@remoteNode "command" 使用SSH连接到远程节点并在远程节点上执行指定的命令。

详细步骤

1、简单命令执行:

示例:ssh user@remoteNode "cd /home ; ls"

解释: 在远程节点上执行cd /homels两个命令,用分号隔开。

如何在Linux中使用SSH进行远程执行命令?插图3
(图片来源网络,侵删)

注意点: 必须使用双引号将命令括起来,否则第二个命令会在本地执行。

2、脚本方式执行:

示例:

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

解释: 使用Here Document(<<)将多条命令发送到远程节点执行,并在执行结束后输出“done!”。

注意点: Here Document的结束标记(如eeooff)可以任意修改。

如何在Linux中使用SSH进行远程执行命令?插图5
(图片来源网络,侵删)

3、多命令执行:

示例:ssh user@remoteNode "pwd; cat hello.txt"

解释: 在远程节点上连续执行pwdcat hello.txt两个命令,用分号隔开。

注意点: 使用单引号或双引号将多个命令括起来,防止本地执行。

4、带sudo权限的命令执行:

示例:ssh user@remoteNode "sudo ls /root"

解释: 在远程节点上以root权限执行ls /root命令。

注意点: 需要确保用户具有sudo权限,且可能需要输入密码。

5、执行本地脚本:

示例:ssh user@remoteNode < test.sh

解释: 通过重定向将本地脚本test.sh发送到远程节点执行。

注意点: 脚本路径必须是绝对路径,否则会出错。

6、执行远程服务器上的脚本:

示例:ssh user@remoteNode "/home/user/test.sh"

解释: 直接在远程节点上执行指定路径的脚本。

注意点: 需要指定脚本的绝对路径。

7、并行执行多节点命令:

方法一:使用Bash for循环:

      for h in node1 node2 node3; do
          ssh root@$h "cd /home ; ls"
      done

方法二:使用ClusterShell:

      clush -l root -w node1,node2,node3 "ls /home/"

方法三:使用PDSH:

      pdsh -R ssh -l root -w node1,node2,node3 "ls /home/"

解释: 使用不同的工具实现在多节点上并行执行命令,ClusterShell和PDSH需要安装相应的软件包。

8、避免首次连接确认:

示例:ssh -o StrictHostKeyChecking=no user@remoteNode "cd /home ; ls"

解释: 通过添加-o StrictHostKeyChecking=no参数,避免首次连接时的确认提示,适用于自动化脚本。

9、后台运行命令:

示例:ssh -f user@remoteNode "command"

解释: 使用-f选项使SSH命令在后台运行,常结合-n选项使用,将标准输入重定向到/dev/null

主要SSH参数说明

参数 说明
-l 指定登入用户
-p 设置端口号
-f 后台运行
-n 将标准输入重定向到/dev/null
-N 不执行远程命令,只做端口转发
-q 安静模式,忽略对话和错误提示
-T 禁用伪终端配置
-t 为远程系统上的SSH进程分配一个伪TTY
-v 显示调试信息

通过以上方法和注意事项,可以实现在Linux环境下通过SSH高效、安全地远程执行命令和脚本。

各位小伙伴们,我刚刚为大家分享了有关linux ssh 远程执行的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/80434.html

小末小末
上一篇 2024年10月19日 15:26
下一篇 2024年10月19日 15:36

相关推荐