SSH使用重新启动命令重新启动Linux系统

时间:2020-01-09 10:43:45  来源:igfitidea点击:

我使用ssh重启Linux服务器是否安全。
如何使用ssh重启Linux机器?
是的,您可以使用ssh引导计算机或者Linux服务器。

SSH是协议。
它与安全shell相关联。
简而言之,ssh是一种客户端-服务器技术,它允许从一台计算机安全地远程登录到另一台计算机。

ssh客户端是Linux和Unix世界中用于管理服务器的事实上的标准。
在本教程中我们学习了如何使用ssh命令重新启动Linux系统。

如何使用ssh登录

语法为:

ssh user@server

ssh user@server-ip-address

ssh [email protected]

出于安全原因,在Linux服务器上始终禁用root登录。
在那种情况下,以普通用户身份登录并使用su命令或者sudo命令获取root shell:

ssh [email protected]

sudo -i

用id命令验证:

id

SSH重新启动Linux系统

现在,您知道如何使用ssh命令以root用户身份登录:

ssh user@linux-box

现在,我们将使用ssh重新引导Linux服务器。
语法如下(使用以下任一命令):

# reboot

# shutdown -r now

# shutdown -r 0

可以使用sudo命令,如下所示:

$ sudo shutdown -r now

以上所有命令都会重新引导计算机。
有关更多信息,请参见Linux/Unix服务器上的基于SSH公钥的身份验证。

SSH重新启动命令示例

也有一个捷径。
您可以使用ssh登录并运行命令。
以非root用户身份登录时,语法如下:

ssh -t [email protected] "sudo reboot"

ssh -t [email protected] "sudo shutdown -r now"

当然,如果您以root用户身份登录Linux服务器,请避免执行sudo:

ssh -t [email protected] "reboot"

ssh -t [email protected] "shutdown -r now"

使用ssh命令行选项重新启动Linux计算机

sudo:不存在tty且未指定askpass程序

如果您将ssh命令的-t选项跳过,则会在屏幕上看到如下错误:

sudo:不存在tty且未指定askpass程序

有关重启大量Linux服务器的说明

您可以使用bash进行循环,如下所示来重新引导5台名为www1,www2,db1,db2和cache1的服务器:

for s in www1 www2 db1 db2 cache1:
do
   ssh -t root@${s} "shutdown -r now"
done

而且,还有一个Ansible工具也可以使用剧本(Playbook)重启Linux机器或者服务器。
假设您要重启100台AWS VM或者服务器。
一个bash for循环很慢并且不是很有用。
因此,您将使用诸如Ansible之类的IT自动化工具。