300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > ssh远程执行命令自动输入密码方式

ssh远程执行命令自动输入密码方式

时间:2021-12-28 11:02:38

相关推荐

ssh远程执行命令自动输入密码方式

文章目录

echo 方式重定向 方式expect 方式sshpass 方式

echo 方式

# 使用 echo “密码” | (管道符)echo "密码" | sudo 命令echo "123456" | sudo rm -rf /*

重定向 方式

# 需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码# shell用重定向作为标准输入的用法是:cmd<<delimiter ,shell 会将分界符delimiter之后直到下一个同样的分界符之前的内容作为输入# 使用场景:不仅仅输入一个密码,还需要输入用户名ftp -i -n 192.168.21.46 <<EOFuser 用户名 密码EOF

expect 方式

# 安装yum -y install expect

#!/usr/bin/expect# 设置超时时间,单位秒set timeout 10# 主要功能是给ssh运行进程加个壳,用来传递交互指令spawn ssh -A user@1.1.1.1 # 开启一个进程,后面跟命令或者程序(需要做交互的,比如ssh)# 判断上次输出结果里是否包含 Password: 的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的 10秒expect "Password:" # 匹配进程中的字符串# 发送密码 \r 表示字符串结束send "yourpassword\r" # 当匹配到字符串时发送指定的字符串信息# 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。# 如果没有这一句登录完成后会退出,而不是留在远程终端上。interact # 允许交互

#!/usr/bin/expect -f set timeout 30spawn ssh -l 用户名 10.125.25.189expect "password:"send "要输入的密码" interact

# 执行./sshlo# expect解释器执行expect sshlo

#!/bin/bash ip=$1 user=$2 password=$3 expect <<EOF set timeout 30spawn ssh $user@$ip expect {"yes/no" {send "yes\n";exp_continue } "password" {send "$password\n" }} expect "]#" {send "useradd zs\n" } expect "]#" {send "touch /opt/zs.txt\n" } expect "]#" {send "exit\n" } expect eof EOF

sshpass 方式

# 安装yum install -y sshpass# 格式sshpass -p 密码 ssh -A -g yourname@ipsshpass -p 7jnnn335wcvb ssh -p 31324 root@112.230.202.196 && /root/miniconda3/envs/mmenv/bin/python ~/0predict1.py

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。