本地shell脚本中ssh到远程服务器并执行命令

本地shell脚本中ssh到远程服务器并执行命令,第1张

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式

1、首先配置ssh免密操作

Linux 下实现SSH互信: https://www.jianshu.com/p/2456d98aa607

2、简单命令

ssh root@192.168.1.1 "cd /var/liblscd "

2.1 使用时注意,双引号必须有。若没加双引号,第二条及之后的命令会在本地执行

2.2 分号是将两条语句间隔开

2.3 单双引的区别:单引号不会解析值,是什么就传什么;双引号会解析值,将解析结果传过去

3、多条命令

     ssh root@192.168.1.1<<reallssh

      cd /var/lib/test

      tar -zxvf api.com.tar.gz

      ......

      exit

      reallssh

3.1 命令写在 << reallssh(开始) 至 reallssh(结束) 之间

3.2 reallssh可自己定义为其他形式

3.3 在结束前加上exit退出远程

4、可能遇到的问题

问题:远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误

解决方案:字面意思是伪终端将无法分配,因为标准输入不是终端。

所以需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。

to force pseudo-tty allocation even if stdin isn’t a terminal.

参考样例如下:

ssh -t -t user1@192.168.1.1 -p 22

--------------------------------------------------------------------------------

参考:https://blog.csdn.net/jinking01/article/details/84386769

SSH 为Secure Shell的缩写,是一款较可靠,专为远程登录会话和其他网络服务提供安全性的协议。且ssh适用性强,几乎适用于所有的UNIX平台。

一、检查SSH的安装

在使用SSH之前,我们必须检查电脑中是否已经安装了客户端openssh-client以及服务器openssh-server,我们可以使用 dpgk --l | grep ssh 来进行查看。

如果显示中拥有openssh-client和openssh-server,说明电脑已经安装了客户端和服务端。

二、安装openssh-client和openssh-server

sudo apt-getinstall openssh-client #安装客户端client sudo apt-getinstall openssh-server #安装服务端server

三、启动服务器SSH

启动SSH分两步。第一步是查看ssh-server当前状态,指令为 ps -e | grep ssh

一旦出现sshd,说明ssh-server当前处于启动状态。

启动、停止、重启ssh-server的指令为

sudo /etc/init.d/ssh start#server启动ssh服务 sudo/etc/init.d/ssh stop #server停止ssh服务 sudo/etc/init.d/ssh restart #server重启ssh服务

四、获取服务器IP地址

此过程略。不同的设备方法不太一样难以统一,请搜索对应的方法。

五、使用SSH远程登录服务器

口令登录非常简单,只需要一条命令,命令格式为: ssh 客户端用户名@服务器ip地址

例如我的树莓派名为root@,我的树莓派IP为192.168.1.111,那么我使用口令登录树莓派就要输入

ssh root@192.168.111

这样就可以登录了。

ssh命令用于服务器的远程控制,一般情况下只要用“ssh IP地址”这样的格式就可以了,例如:“ssh 192.168.10.10”,可参考:第9章 使用ssh服务管理远程主机。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/602717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-11
下一篇2023-07-11

发表评论

登录后才能评论

评论列表(0条)

    保存