文档章节

Linux下使用shell+expect远程登录主机

明月观火
 明月观火
发布于 2017/08/16 11:53
字数 203
阅读 815
收藏 25
点赞 1
评论 5

最近使用Ubuntu系统想远程登录自己的vps主机,但是感觉自带的远程登录软件不太好使。于是乎想着怎么使用shell脚本来登录,Google之后整理了一下,方便以后用到。

1.准备工作:安装expect

for Ubuntu

sudo apt-get update
sudo apt-get install expect

for Centos

yum install expect

2.新建脚本粘贴以下内容

#!/usr/bin/expect
spawn /usr/bin/ssh root@114.114.114.114 -p 22 # 用户名、IP地址、端口号自行设置
expect "password:"
send "remoteComputerPassword\r" # 密码请自行设置
expect efo
interact

脚本的用户名、IP地址、端口号以及密码,需要根据自己远程主机的实际情况来设置。

如果脚本无法执行,查看脚本是否添加了执行权限。

© 著作权归作者所有

共有 人打赏支持
明月观火
粉丝 7
博文 1
码字总数 203
作品 0
崇明
程序员
加载中

评论(5)

Feng_Yu
Feng_Yu

引用来自“Feng_Yu”的评论

别用expect,直接用sshpass,比expect自动登录好用一万倍

引用来自“不要点击我”的评论

不安全吧
怎么可能不安全
不要点击我
不要点击我

引用来自“Feng_Yu”的评论

别用expect,直接用sshpass,比expect自动登录好用一万倍
不安全吧
tinyhare
tinyhare
我整过一个更复杂些的
---------------->8-----------------------
#!/usr/bin/expect -f

# get info from commendline
set username [lindex $argv 0]
set host [lindex $argv 1]
set password [lindex $argv 2]

# or set manually
#set username root
#set host 213.242.32.122
#set password 123456

#trap SIGWINCH and pass it to the child we spawned. this is important for resize the window !!!!
trap {
set rows [stty rows]
set cols [stty columns]
stty rows $rows columns $cols < $spawn_out(slave,name)
} WINCH

# make ssh connection
spawn ssh -l ${username} ${host}

# send info at correct time
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$password\r" }
}

# keep interact
interact

# enjoy it !
---------------8<-------------------
Feng_Yu
Feng_Yu
别用expect,直接用sshpass,比expect自动登录好用一万倍
wefly007
wefly007
test
linux /etc/hosts文件作用

关于/etc/host,主机名和IP配置文件 Hosts : The static table lookup for host name(主机名查询静态表) Linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主...

墨梅
2014/12/01
0
0
linux中的hosts文件解析

关于/etc/host,主机名和IP配置文件3 e; X- {- a& l Hosts - The static table lookup for host name(主机名查询静态表)6 E. N, c! 9 V! ? Linux 的/etc/hosts是配置ip地址和其对应主机名的...

Minho
2011/07/23
0
0
CentOS VPS新手教程(1)VPS登录

现在大多数VPS都是Linux的,而通常安装的是CentOS发行版。 Linux服务器登录不同于Windows服务器的远程登录方式,通常是没有远程桌面支持的,也就是说不是图形化的而是基于控制台的远程操作。...

zetaplusae
2012/12/22
0
0
Linux操作系统下/etc/hosts文件配置方法

1、关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在...

五大三粗
2015/03/16
0
0
使用putty在windows环境下远程登录linux

使用putty在windows环境下远程登录linux: putty.exe是个有界面的程序,输入目标主机的ip地址或者域名就点击连接,输入用户和密码就建立的连接,如果是第一次连接,还有一些提示信息,大概意...

LiShixi
2012/06/23
0
0
window远程mstsc使用ssh代理

公司路由器上VPN最近挂了,mstsc远程登录公司内网主机是没戏了 :( 想到之前配置过svn代理更新线上项目时,对外开放过一台内网linux主机ssh到外网 Window下可以使用SocksCap64 socks5代理mst...

dworry
2016/05/21
0
0
Linux远程工具使用(Xshell遇到的问题)

Xshell Xshell是一个安全终端模拟软件,可以进行远程登录。我使用XShell的主要目的是在Windows环境下登录Linux终端,传输一些大文件到Linux环境上去。 1、下载安装xshell客户端,在安装时可以...

yard521
07/01
0
0
Linux 与 Linux Windows 文件共享(samba服务搭建)

前提说明: windows主机信息:192.168.1.100 帐号:abc 密码:123 共享文件夹:share linux主机信息:192.168.1.200 帐号:def 密码:456 共享文件夹:/home/def/share 由于暂时还不会防火墙和...

独一无二zz
06/28
0
0
大数据教程(1.8):Linux之SSH免密登录配置

在工作中,有很多时候,我们需要使用自动化脚本远程安装软件或者执行程序。此时必须要实现免密码登录才好做相应操作。 博主今天就详细的分享Linux之间的ssh免密码登录配置过程,帮助小白们理...

em_aaron
07/06
0
0
每天一个linux命令(39):telnet命令

telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算...

姬风
2014/03/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
5分钟前
0
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
14分钟前
0
0
设计模式:代理模式

代理模式可以分为三种:静态代理,动态代理,cglib代理 1.静态代理:被代理的类需要实现一接口或是继承一父类 委托类(被代理的类): package com.java.pattern.proxy.staticdemo;publ...

人觉非常君
17分钟前
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
23分钟前
0
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
23分钟前
0
0
TensorFlow,从一个 Android Demo 开始

TensorFlow Android Demo 项目地址 Machine Learning 既然提到了 TensorFlow,那是不是得神经网络、机器学习了解下? 如果你能坚持把 机器学习速成课程 给啃完了,觉得还挺有兴趣的,那可以考...

孟飞阳
25分钟前
0
0
JVM学习笔记二:内存结构规范

1、JVM基本结构图 2、java堆(Heap) 3、方法区(Method Area) 4、程序计数器 5、JAVA栈图解 局部变量表:八大基本类型,还可以存储引用类型 上一篇:JVM学习笔记一:类加载机制介绍...

刘祖鹏
31分钟前
0
0
mui集成微信H5支付(返回白屏问题已经解决)

一.项目需求 因为公司人员缺少,没有专门开发安卓和ios的人员,为了项目尽早上线采用了混合APP开发的方式,我选择了MUI混合开发框架,项目中需要在用户购买VIP会员的时候进行支付,所以需要在项目...

银装素裹
35分钟前
0
0
SpringBoot集成Redis--配置自定义的RedisCacheManager

配置自定义的RedisCacheManager--1自定义键生成规则 默认的键生成器 当不指定缓存的key时,SpringBoot会使用SimpleKeyGenerator生成key。 SimpleKeyGenerator SimpleKey 查看源码可以发现,它...

karma123
54分钟前
0
0
防火墙未来的发展趋势在哪里?

导读 防火墙(Firewall),也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网。当下互联网时代,无论是大小企业,大部分都会部署有防火墙的设备,但这些防火墙往往并不...

问题终结者
56分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部