📌  相关文章
📜  以 sudo 身份通过 SSH 运行多个命令 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:36:21.891000             🧑  作者: Mango

以 sudo 身份通过 SSH 运行多个命令 - Shell-Bash

当我们需要在远程服务器上执行多个命令时,可以通过 SSH 登录远程服务器,并且使用 sudo 命令来获得管理员权限,从而运行需要的命令。

SSH 登录远程服务器

使用以下命令可以通过 SSH 连接到远程服务器:

ssh username@remote_host

其中,username 是远程服务器上的用户名,remote_host 是远程服务器的 IP 地址或域名。输入以上命令后,会提示你输入远程服务器的密码,输入正确密码后就可以登录了。

使用 sudo 命令获取管理员权限

在远程服务器上,如果需要执行管理员权限的命令,需要使用 sudo 命令来获取管理员权限。使用以下命令可以在远程服务器上获得管理员权限:

sudo su

输入以上命令后,会提示你输入远程服务器的密码,输入正确密码后,就可以获得管理员权限了。

运行多个命令

在远程服务器上获得管理员权限后,就可以执行需要的命令了。使用以下命令可以在一行中运行多个命令:

sudo sh -c 'command1 && command2'

其中,command1command2 是需要运行的命令。上述命令中的单引号是必要的,因为它们用于将多个命令组合在一起,并作为单个参数传递给 sh 命令。

例如,假设需要在远程服务器上创建一个新的用户并设置密码,可以使用以下命令:

sudo sh -c 'useradd -m newuser && echo "newuser:password" | chpasswd'

上述命令中,useradd -m newuser 用于创建新用户,echo "newuser:password" | chpasswd 用于设置新用户的密码。

总结

在远程服务器上,使用 SSH 登录并使用 sudo 命令获得管理员权限,可以在一行中运行多个命令。使用单引号将多个命令组合在一起,并作为单个参数传递给 sh 命令。