登录远程服务器脚本

ssh登录远程服务器脚本

最近由于工作需要经常登录公司跳板机,每次登录都要输入账号密码,因此想到写一个脚本来自动登录

1)安装依赖包expect

查看当前环境是否有依赖包

whereis expect

如果没有需要使用以下命令安装(ubuntu下)

sudo apt-get install expect

2)编写自动登录脚本login.sh

#!/usr/bin/expect -f

# 设置ssh连接的用户名
set user liuzz

# 设置ssh连接的host地址
set host 8.8.8.8

# 设置ssh连接的端口号(非必需)
set port 22

# 设置ssh连接的超时时间
set timeout 20

# 登录,端口号为默认端口号时可以省略
spawn ssh [email protected]$host -p $port

# 期待出现的提示(根据登录时的提示调整)
expect "*password:"

# 提交密码
send "$password\r"

# 控制权移交
interact

3)跟脚本加上可执行权限

chmod +x login.sh

4)执行脚本登录

./login.shs

原文地址:https://www.cnblogs.com/zzliu/p/11332369.html

时间: 2024-10-27 00:34:06

登录远程服务器脚本的相关文章

shell脚本实现ssh自动登录远程服务器示例

本文转载自 懒惰的肥兔 :http://www.xuanhao360.com/linux-expects/ shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使

自动登录远程服务器shell

#!/usr/bin/expect -f set user username set host ipaddress set password pwd set timeout -1 spawn ssh [email protected]$host expect "*assword:*" send "$password\r" interact chmod +x shellname 使脚本生效 把shell所在路径加入环境变量:http://www.cnblogs.com

利用ssh-copy-id无需密码登录远程服务器

本地机器生成公钥和私钥 ssh-keygen -t rsa 一路回车,最后会在~/.ssh目录下生成id_rsa和id_rsa.pub这两个文件. 与远程服务器建立信任机制 ssh-copy-id -i /root/.ssh/id_rsa.pub -p 远程服务器ssh端口 [email protected]远程服务器IP 输入密码,成功连接后.后续再次连接就不需要密码了. 后续在本地机器通过 ssh -p 远程服务器端口 [email protected]远程服务器IP 不需要输入密码也可正常

ssh-keygen生成公私钥免密码登录远程服务器

经常需要登录远程服务器很麻烦,因此在此记录下免密码登录远程服务器的那些事. 1. 比较常用而保险的ssh-keygen公私钥配对登录. 2. 终端输入命令:ssh-keygen -t rsa 这里需要你输入一个钥匙的名称,不输入默认为:id_rsa (私钥) 和 id_rsa.pub(公钥) 通常在企业里面一台服务器有很多人使用,因此默认的名称很可能已经有人使用了,所以这里可以输入一个你自己的名字为好. 3. 输入密钥名称后,回车,会让输入密码. 4. 因为我们要免密码登录,所以别填,直接回车2

用Python写个自动ssh登录远程服务器的小工具

很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的打造一个在Linux/Mac os运行的自动ssh登录远程服务器的小工具.来个GIF动画示例下先: 概述 我们先理一下我们需要些什么功能: 1. 添加/删除连接服务器需要的IP,端口,密码 2. 自动输入密码登录远程服务器 对,我们就做这么简单的功能 开始写代码代码比较长,所以我也放在在Github

ssh执行远程服务器脚本 提示php: command not found

设置环境变量 一台机器作为管理机,来管理其他服务器,并通过key认证,免密码登陆的. 在管理机上通过ssh登陆到其他服务器来远程执行命令 ssh [email protected] "cmd" 执行远程服务器上的某个脚本,却报错,提示PHP:command not found 找不到php命令 远程机 which php  结果是/usr/local/php/bin/php echo $PATH 结果是  已经添加到PATH中了,却不好使 解决:在远程机上执行 ln -s /usr/l

linux自动备份文件 并上传到远程服务器 脚本实现

(1)在服务器上创建备份目录,并赋予权限 mkdir -p /backup/bakdata  #新建数据备份目录(2)完成备份脚本操作新建脚本文件      vi bakdata.sh添加以下内容: #!/bin/sh     dateTime=`date +%Y_%m_%d`    #当前系统时间     days=7    #删除7天前的备份数据s     orowner=bakuser   # 备份到此用户下     bakdescdir=/DATA/bakmdata     #备份文件到

通过终端使用ssh-keygen免密码登录远程服务器

使用终端ssh登录远程Linux服务器,每次不输入如密码 原理:使用keygen认证,实现免密码验证即可登录服务器. Linux(包括Mac OS): $ ssh-keygen /*生成密钥*/ $ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] (-p port) /*copy密钥到服务器*/(如果系统不支持ssh-copy-id命令,可以使用 `brew install ssh-copy-id`) $ ssh [email protect

openssh 免用户名/密码/服务器地址,登录远程服务器

原理 在 local 本地创建一对公.私钥,将公钥放到 remote 远程服务器,local 本地保存私钥: 远程登录时,拿本地的私钥加密,远程服务器拿公钥解密. 在本地创建公.私钥 ssh-keygen -t rsa 会在本地的 ~/.ssh 目录生成公.私钥文件: id_rsa.pub  // 公钥 id_rsa.       // 私钥 将公钥 id_rsa.pub 存入远程服务器的 ~/.ssh/authorized_keys 文件中 ssh [email protected] "cat