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

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

echo 方式

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

重定向 方式

# 需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码
# shell用重定向作为标准输入的用法是:cmd<<delimiter ,shell 会将分界符delimiter之后直到下一个同样的分界符之前的内容作为输入
# 使用场景:不仅仅输入一个密码,还需要输入用户名
ftp -i -n 192.168.21.46 <<EOF
user 用户名 密码
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 30
spawn ssh -l 用户名 10.125.25.189
expect "password:"
send "要输入的密码"    
interact
# 执行
./sshlo
# expect解释器执行
expect sshlo
#!/bin/bash 
ip=$1  
user=$2 
password=$3 
expect <<EOF  
    set timeout 30
    spawn 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@ip
sshpass -p 7jnnn335wcvb ssh -p 31324 root@112.230.202.196 && /root/miniconda3/envs/mmenv/bin/python ~/0predict1.py


相关文章
|
4月前
|
运维 应用服务中间件 网络安全
Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)
Ansible自动化运维工具之解决SSH连接使用明文密码问题(4)
|
17天前
|
存储 Linux 网络安全
如何在 Linux 中删除 SSL 证书和 SSH 密码?
如何在 Linux 中删除 SSL 证书和 SSH 密码?
22 1
如何在 Linux 中删除 SSL 证书和 SSH 密码?
|
1月前
|
安全 Linux Shell
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
42 0
|
5月前
|
网络安全 开发工具 数据安全/隐私保护
GitHub不再支持密码验证解决方案:SSH免密与Token登录配置
今天提交代码,push到GitHub上,突然出现这个问题。 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: unable to acce
|
6月前
|
安全 Ubuntu Linux
如何在 Linux 中设置 SSH 无密码登录
如何在 Linux 中设置 SSH 无密码登录
115 0
|
6月前
|
Linux 网络安全 数据安全/隐私保护
|
6月前
|
网络安全 数据安全/隐私保护 Windows
vb实现一键自动填写密码登录ssh
不使用密钥登录ssh的情况下。在windows下dos窗口中远程ssh登录常用基本命令
327 0
|
8月前
|
Shell 网络安全 Perl
Expect实现SSH免交互执行命令
Expect实现SSH免交互执行命令
87 1
|
9月前
|
Ubuntu Linux 网络安全
Xftp无法与192.168.xx.xx连接 && SSH服务器拒绝了密码。请再试一次。
Xftp无法与192.168.xx.xx连接 && SSH服务器拒绝了密码。请再试一次。
252 0
|
9月前
|
网络安全 数据库 数据安全/隐私保护
Expect远程ssh登录主机执行命令
Expect是一个命令行工具,它可以自动化交互式任务(如SSH登录、FTP传输等)。 Expect通过模拟用户输入,识别应用程序输出,实现自动化交互式任务的自动化。
329 0