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就是用来做交互用的,基本任何交互登录的...
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*"{...
shell实现SSH自动登陆 前言 公司开发使用docker,每次登陆自己开发机总要输入ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错。作为一个懒人,肯定要找一个取巧的方式,查看了下ssh命令,由于它要进行一次跟服务器的加密交互,所以没有直接附带密码登陆的选项,只好作罢。
echo + 管道符不是什么时候都可以生效(比如我写的自动提交博客脚本最后需要输入我的服务器的 git 仓库密码就不生效),因此我们可以使用 expect 方法来执行。 这里的语句是这样的: 设置超时时间为30s spawn 是 expect 的起始语句,可以理解为从此处开始 spawn 后面的语句是执行 ssh 连接 ...
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指令就没有这样的参数,第三种交互方式就派上用场了...
ssh连接远程主机时候询问密码,跟su、sudo命令的默认行为一样,是不从stdin读入数据的,据称是为安全考虑,但是有时候在脚本当中确实需要无人守值的登陆。 搜索一下不难找到类似的例子,使用expect来完成密码应答: #!/bin/bashauto_login_ssh(){expect-c"set timeout -1; ...
1、创建用户及密码(所有的机器都要执行) useradd ydl echo 123456|passwd --stdin ydl id ydl su - ydl 2、生成秘钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa>/dev/null 2>&1 3、分发秘钥 ssh-copy-id -i .ssh/id_dsa.pub yaodunlin@192.168.1.43 ...