user 用户名 密码 EOF 方式三 expect echo + 管道符不是什么时候都可以生效(比如我写的自动提交博客脚本最后需要输入我的服务器的 git 仓库密码就不生效),因此我们可以使用 expect 方法来执行。 set timeout 30 spawn ssh -l 用户名 10.125.25.189 expect "password:" send "要输入的密码" interact 这里的语句...
echo 'zjk123' | sudo -S cp file1 /etc/hosts 实现自动修改密码的脚本写法如下: echo 'password' | passwd -stdin username 第三种: expect:上面介绍的两种方法前提条件是指令有参数来设定密码输入方式,像ssh指令就没有这样的参数,第三种交互方式就派上用场了 expect就是用来做交互用的,基本任何交互登录的...
spawn 后面的语句是执行 ssh 连接 expect:当发现password:这个字符串后,在后方输入send后面的内容 send:要输入的密码 interact:执行完留在远程控制台,不加这句执行完后返回本地控制台
expect "password:" send "king\r" interact 这里的语句是这样的: 设置超时时间为30s spawn 是 expect 的起始语句,可以理解为从此处开始 spawn 后面的语句是执行 ssh 连接 expect:当发现password:这个字符串后,在后方输入send后面的内容 send:要输入的密码 interact:执行完留在远程控制台,不加这句执行完后返回本...
user 用户名 密码 EOF 1. 2. 3. 4. 5. 6. 7. 3、expect echo + 管道符不是什么时候都可以生效(比如我写的自动提交博客脚本最后需要输入我的服务器的 git 仓库密码就不生效) 因此我们可以使用 expect 方法来执行。 set timeout 30 spawn ssh -l 用户名 10.125.25.189 ...
shell脚本中,scp和ssh连接时,自动输入用户名和密码。 解决方案: 例: #!/bin/bashremoteIp=IP remoteUser=用户名 remotePw=密码 function download(){ remoteFile=$1 localDir=$2 expect << EOF set timeout1200; spawn scp -r -p $remoteUser@$remoteIp:"$remoteFile""$localDir"expect{"*yes/no*"{...
user 用户名 密码 EOF AI代码助手复制代码 方式三 expect echo + 管道符不是什么时候都可以生效(比如我写的自动提交博客脚本最后需要输入我的服务器的 git 仓库密码就不生效),因此我们可以使用 expect 方法来执行。 settimeout30 spawn ssh -l 用户名 10.125.25.189 ...
所以实现sudo自动输入密码的脚本如下:其中zjk123为密码 echo 'zjk123' | sudo -S cp file1 /etc/hosts 实现自动修改密码的脚本写法如下: echo 'password' | passwd -stdin username 三:expect:上面介绍的两种方法前提条件是指令有参数来设定密码输入方式,像ssh指令就没有这样的参数,第三种交互方式就派上用场了...
【转】shell实现SSH自动登陆 前言 公司开发使用docker,每次登陆自己开发机总要输入ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错。作为一个懒人,肯定要找一个取巧的方式,查看了下ssh命令,由于它要进行一次跟服务器的加密交互,所以没有直接附带密码登陆的选项,只好作罢。
./ssh.sh 127.0.0.1 root 123456 注意 第一行定要写这句话,否则会报spawn: command not found #!/usr/tcl/bin/expect:使用expect来解释该脚本; 这个脚本和shell脚本部分指令不兼容.注意分开写 这3个必须要有,否则他一登录就退出掉了,不会执行mkdir的内容。