效果

输入命令,选择一个序号登录服务器

$ aoel

(1) first 192.168.1.1

(2) 第二台机器 192.168.1.2

配置文件

1. 填写服务器信息 computerInfo.ini

#ip port user password description

192.168.1.1 22 root 123456 first machine

192.168.1.2 22 root 123456 第二台机器

2. 使用 expect 自动回复 yes 输入密码 core.ex

#!/usr/bin/expect

set ip [lindex $argv 0]

set port [lindex $argv 1]

set username [lindex $argv 2]

set password [lindex $argv 3]

set timeout -1

spawn ssh -p $port $username@$ip

expect {

"password" {send "$password\r";}

"yes/no" {send "yes\r";exp_continue}

}

interact

3. 登录脚本 login.sh

#!/bin/bash

file="computerInfo.ini"

#显示机器信息 过滤第一行和空行

awk '{if (NR > 1 && $1 != ""){printf "%-2s %-45s %-15s \n","("NR-1")",$5,$1}}' $file

echo "please choose which machine to login:"

read number

number=$[number+1]

#将信息存入变量

read ip port user password <<< $(echo `awk 'NR=="'$number'"{print $1,$2,$3,$4}' $file`)

./core.ex $ip $port $user $password

4. 使用 alias 定义自己的命令

./bashrc # 仅当前用户有效

/etc/bashrc # 所有的用户都有效

source .bashrc # 让我们的环境生效

alias aoel='/login_server/login.sh'

参考文章

Linux Expect 简介和使用实例

Linux自定义命令指令 | alias

Linux alias命令的使用

mac 终端登陆linux,Mac终端自动登录服务器相关推荐

  1. linux18.04循环登陆,在Ubuntu 18.04 Bionic Beaver Linux上启用自动登录

    目的 目标是在Ubuntu 18.04 Bionic Beaver Linux上启用自动登录 操作系统和软件版本 操作系统: - Ubuntu 18.04 Bionic Beaver Linux 软件 ...

  2. Linux 下ftp自动登录

    Linux 下ftp自动登录      操作系统:linux 说明:使用了expect,参数为ftp服务器地址和要下载的文件名 参数:lindex $argv 0  读取ftp服务器ip地址      ...

  3. linux vscode输入法无法切换,vscode vim 在 mac osx 和 linux 下输入法自动切换

    目前 vscode 的 vim 插件支持在不同输入模式下自动切换输入法,可是 vscode 的配置目前不支持判断操作系统, 所以关于输入法切换的相关配置不能在 mac osx 和 linux 下通用, ...

  4. linux脚本登陆ftp,linux shell 下自动登录ftp服务器并自动上传下载文件

    1.自动下载 #!/bin/sh ftp -n 192.168.0.231 << EOF #-n表示-n意思是不读取默认.netrc文件中的设定,< user whl whl #用户 ...

  5. Linux执行命令提示Password,linux expect远程自动登录以及执行命令

    linux远程自动登录以及执行命令 远程登录 该自动登录的过程是通过shell里面expect实现的,类似相当于开了一个类似于cmd的命令段输出IP和密码. 注意该脚本能够执行的前提是安装了expec ...

  6. 服务器自动登录 linux,linux下如何自动登录远程服务器?

    mount到服务器.需要用到expect和smbmount,脚本如下 #!/usr/bin/expect #auto mountserver set timeout -1 set password & ...

  7. linux系统包括虚拟终端图形界面终端有,Linux的终端类型

    一.了解终端 在早期的年代,主机不是很多,都是一系列的大型主机,简单来说就是用户很多,但主机很少,不可能做到人手一台,但可以在主机上连接一个分屏器,在分屏器上可以连接鼠标键盘以及显示器,这些东西是没有 ...

  8. linux开终端失败,Linux:终端提示符 (prompt) 不如期生效原因

    原标题:Linux:终端提示符 (prompt) 不如期生效原因 前言 先来简单介绍下, prompt是什么鬼? 顾名思义就是提示符的意思, 看起来和我们遥远, 但实际上只要是每个接触 shell的童 ...

  9. Linux ssh shell 自动登录,shell脚本实现ssh自动登录功能分享

    文件名:ssh_auto_login #!/usr/bin/expect ## # ssh模拟登陆器 # # @author zhiyuan ## if {$argc<4} { puts &qu ...

最新文章

  1. 中方控股的Arm合资公司开始运营,还要在国内IPO
  2. 正则表达式 一切从简
  3. pcb入门之新建工程
  4. 2转单通道 python_机器学习用Python—Python集成工具包Anaconda安装步骤
  5. HBase 默认配置项详细解读
  6. SecurityContextPersistenceFilter和SecurityContextHolder的作用
  7. SVN中tag branch trunk用法详解
  8. 学会5个数据分析常见定律,数据敏感度提升N个度
  9. 无法从套接字读取更多的数据
  10. 二、建模及画网格软件推荐
  11. html简单网页源代码表格,HTML 表格
  12. 系列课程 ElasticSearch 之第 9 篇 —— ELK (ElasticSearch、Logstash、Kibana)分布式日志收集和查看(完结)
  13. Java人事管理系统设计
  14. 后天淘宝客cms系统源码
  15. Windows10蓝屏提示错误操作Wdwifi.sys
  16. Approximation of functions in fractional Sobolev spaces
  17. 当区块链走进物流——区块链在物流行业的应用
  18. 深入浅出!二叉树详解,包含C语言代码
  19. 设计模式篇:状态模式(二)
  20. Linux(Ubuntu)配置防火墙

热门文章

  1. 电脑无法启动故障的10种解决方法
  2. shell替换程序里的代码
  3. 申请实习生,你准备好了吗?
  4. python根据财务指标寻找价值股票
  5. python与android交互,Android客户端与Python服务器端的简单通信
  6. g开头的C语言编程软件,C语言函数大全(g开头)
  7. 机器学习之最大似然估计(MLE)和最大后验概率估计(MAP)
  8. Java笔记12-函数式接口
  9. CentOS下安装VirtualEnv的教程
  10. django使用用户名或手机号码登录