expect ssh 自动登录 example】的更多相关文章

#!/usr/bin/expect -f set ip [lindex $argv ] set port [lindex $argv ] set username [lindex $argv ] set password [lindex $argv ] set timeout spawn ssh $ip -p $port -l $username expect { ##"*yes/no" { send "yes\r"; exp_continue } "*p…
shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:" send "123\r" expect "*#" interact 原文链接:http://www.xuanhao360.com/linux-expects/ Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成…
expect实现ssh自动登录   #!/usr/local/bin/expect set PASSWD [lindex $argv 1] set IP [lindex $argv 0] set CMD [lindex $argv 2] spawn ssh $IP $CMD expect "(yes/no)?" { send "yes\r" expect "password:" send "$PASSWD\r" } "…
因为要对客户方的快30个项目进行特别有顺序的重启,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的可以.没有一段是可以正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ############################################## #!/usr/bin/expect set timeo…
ssh自动登录的几种实现方法,记录在此.  1. 自动ssh/scp方法 A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110; A和B的系统都是Linux 在A上运行命令: # ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码) # ssh root@192.168.60.110 "mkdir .ssh" (需要输入密码) # scp ~/.ssh/id_rsa.pu…
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ############################################## #!/usr/bin/expect set timeout 30 spawn ssh -l username 192.168.1.1 expect "password:" send "ispass\r&…
expect expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令.当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令.但当不能使用密钥验证的时候,我们就没有办法了.所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令. 引言 目前在公司是一人一台虚拟机,大多数工作都要在虚拟机上完成,为此每天要执行很多次[ssh xxx@xxxxxx]指令登录虚拟机:有很多方式解决这个问题,如使用xshell.secureCRT等工具记录常用…
原文链接:https://fuckcloudnative.io/posts/iterm2-auto-login/ 对于 YAML 工程师来说,我们经常需要 ssh 登录不同的服务器,每次登录时都要经历两个步骤: 输入 ssh root@host-ip 输入密码 每次都重复这样的操作,不仅麻烦,还要记忆好多东西.对于 Windows 用户来说,可以使用 Xshell 来实现自动登录功能,macOS 用户就比较麻烦了.iTerm2 是 macOS 平台上最强大的终端工具,虽然默认没有提供自动登录的功…
一.SSH免密码登录 假设要登录的机器为192.168.1.100,当前登录的机器为192.168.1.101. 首先在101的机器上生成密钥(如果已经生成可以跳过): $ ssh-keygen -t rsa一路回车即可. 然后在将生成的公钥复制到机器100上的~/.ssh/authorized_keys中,使用如下命令: $ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100root为需要登录到机器100上的身份,需要替换成需要的用户名. 最…
title: SSH自动登录config文件配置 comments: false date: 2019-08-19 19:29:13 description: 更方便的 ssh 操作??? categories: Linux 概述 之前说过可以使用 spawn 命令来自动登录服务器,但是仅仅是登录那么很方便,如果使用 scp 拷贝文件呢?是不是得使用最原始的 scp user@host:/xxx . 还是不方便???那就操作起来 配置服务端 与客户端免密登录服务器一样,在服务器的 ~/.ssh/…
自动登录主机(ssh) 建脚本item2login.sh,包含如下内容 #!/usr/bin/expect set timeout 30 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] expect { "(yes/no)?" {send "yes\n";exp_continue} "password:" {send "[lindex $argv 3]\n&…
需求: 在Win7电脑上使用putty(一种ssh客户端)连接Ubuntu 工具: puttygen.exe 和 putty.exe 第一步:生成密匙 运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了. passphrase可以为空,免得登录时还是要输入一次密码. 点击Save private key 按钮保存私匙,例如key.ppk: 复制puttygen public Key 文本框内的内容到剪贴板中. 第二步:上传密匙 用Pu…
1:简单的实现ssh登录 #!/usr/bin/expect set ip "10.0.0.142" set user "root" set password " spawn ssh $user@$ip expect { "yes/no"{ send "yes\n";exp_continue } "password:"{ send "$password\r"} } intera…
#!/usr/bin/expect -f #设置超时时间 set timeout #这里设置了跳板机的密码 set password "你的跳板机密码" #连接跳板机 spawn ssh 用户名@跳板机IP #如果返回的内容包含*yes/no*,发送yes expect "*yes/no*" {send "yes\n"} #如果返回的内容包含"*password*",发送你设置的密码+\r(PS.这里的\r一定要加,是回车操作…
expect是简单的工具原因,依赖于tcl. 直接apt安装就行. 四个关键字: spawn,派生出新进程. expect,期待得到的字符串,可以模式匹配. send,向进程发送字符串. interact,进入交互模式. 下面是连接ssh例子: #! /usr/bin/expect spawn ssh root@192.168.10.31 expect { "*yes/no" { send "yes\r"; expect "*assword:"…
前提条件服务器已经安装过tcl和expect, 若未安装:可以先执行 yum  install tcl  expect  进行安装 第一步.编写以下自动登录脚本login.sh ############################################## #!/usr/bin/expectset timeout 10 spawn ssh username@172.16.2.1expect "password:"send "password\r"int…
工作中经常会有这样的需求场景,因为要在其它电脑上做操作, 需要从PC A ssh 到 PC B,PC A 可能是自己的工作机,PC B 可能是服务器.一般会使用 SSH 登录到 server 上再进行具体的操作.但如果要经常进行登录,就需要不停的输入完整的 ssh 登录命令:    ssh  rereadyou@10.200.33.33 -p 8000然后再输入登录密码,过程比较简单,但是也会比较烦.如果要经常重复的 ssh 登录一台电脑, 可使用以下的方法:1. 首先登录目标机器   ssh…
1). Linux系统首先要开启SSH服务:service ssh status 如果没安装的话,则要:apt-get install openssh-server service ssh restart 2). pip install paramiko example 1: import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect('…
1:sshpass下载地址(用yum安装不了)       https://sourceforge.net/projects/sshpass/files/ or wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz   2:下载后,解压,安装 tar -zxvf sshpass-1.06.tar.gz cd sshpass-1.06 ./configure make make in…
expect是 #!/bin/bashpasswd='123456'/usr/bin/expect <<EOFset time 30spawn ssh root@192.168.76.10expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" {send "$passwd\r"} }expect "*#"send "c…
send:用于向进程发送字符串 expect:从进程接收字符串 spawn:启动新的进程 interact:允许用户交互http://www.cnblogs.com/lzrabbit/p/4298794.html…
创建公钥 1 ssh-keygen -t rsa 无视它出来的任何提示,欢快的一路回车到底吧~ 把公钥复制到远程主机 把公钥id_rsa.pub复制到远程机器的 /home/username/.ssh目录并命名为authorized_keys 1 2 3 4 5 # 方法1, os x 可以通过 `brew install ssh-copy-id` 安装 ssh-copy-id ssh-copy-id user@host; # 方法2 cat ~/.ssh/id_rsa.pub | ssh us…
1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运行命令:# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)# ssh root@192.168.60.110 "mkdir .ssh" (需要输入密码)# scp ~/.ssh/id_rsa.pub root@192.168.60.110:.ss…
shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:" send "123\r" expect "*#" interact 原文链接:http://www.xuanhao360.com/linux-expects/ Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成…
shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:" send "123\r" expect "*#" interact Expect是一个用来处理交互的命令.借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成.形象的说,ssh登录,ftp登录等都符合交互的定义.下文我们首先提出一个问题,然后介绍基础…
最近需要写一个脚本备份各个服务器上的程序到一个指定服务器上,本来以为查查rsync命令的使用321就能搞定,结果rsync命令要支持自动登 录还是要配置服务和参数,又不确定网上说的配置的行不行,因为都是一个样,但是没有说明头尾,所以选择了一个尝试代价较小的ssh自动登录来替代之. ssh大家都能用到,通常我们用到的功能基本就是登录,或者远程执行shell命令. ##登录 ssh loginuser@host_or_ip ##执行远程命令 ssh loginuser@host_or_ip comm…
plink 是一种 putty-tools,ubuntu 环境下,如果没有安装 plink,可通过如下方法进行安装: $ echo y | sudo apt-get install plink 1. 解决ssh第一次登录需要交互确认的问题 解决SSH第一次登录需要交互确认的问题 echo y | plink -ssh root@REMOTE_IP_HERE "exit" 2. ssh 在参数中指定用户名和密码 sshpass 用于非交互式 ssh 密码登录: $ sudo apt-ge…
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: #!/usr/bin/expect set timeout spawn ssh -l username 192.168.1.1 expect "password:" send "ispass\r" interact 1. [#!/usr/bin/expect] 这一行告诉操作系统脚本里…
[http://blog.51yip.com/linux/1462.html#] #!/usr/bin/expect -f set ip 192.168.1.201 set password meimiao1905 set timeout 10 spawn ssh root@$ip expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$passwor…
在命令行ssh远程登录服务器和scp远程传输文件都需要交互式输入密码,无法像mysql登录数据库 mysql -uroot -p123456一样直接完成. 其实可以用脚本依赖expect来达到这一目的. 首先安装expect: [root@yqtrack-jumphost src]# yum -y install expect SSH登录脚本: #!/usr/bin/expect set timeout 30 spawn ssh root@192.168.1.93 expect "passwor…