我们平时操作远程Linux服务器的时候经常需要XShell工具进行连接,那么如何操作呢?下面我给大家演示一下。
工具/材料XShell
01首先我们打开XShell工具,点击顶部的打开选项,如下图所示
02接下来会弹出一个会话界面,我们点击新建按钮,如下图所示
03然后我们在Linux系统中用ifconfig命令查看一下系统的地址信息,如下图所示
04接下来在新建会话界面中我们输入Linux的地址,端口,协议信息,如下图所示
05点击确定以后我们添加的连接信息就自动加载到会话列表中了,我们选择刚才新建的会话,然后点击连接按钮,如下图所示
06接下来会弹出一个是否接受秘钥的提示,我们点击接受并保存按钮,如下图所示
07然后就会弹出让我们输入账号的界面,这个账号是linux系统的账号,默认都是root,如下图所示
08接下来输入root对应的密码,如下图所示,当然如果你有Public Key也可以选择的
09最后登录系统以后我们可以用ll命令查看一下当前的文件夹内容,看是否真正的进入了远程Linux系统,如下图所示
在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式
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
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)