在LINUX上,我们可以很方便的使用scp命令来远程拷贝文件,但是由于scp命令本身无保存密码选项,所以在shell里面无法像samba那样子保存密码,比较麻烦,下面介绍下两种实现方法。方法一:ssh公私钥认证方法二:expect(expect - programmed dialogue with interactive programs, Version 5)实现默认安装,需要手动安装expec
原创 2015-07-24 11:14:15
10000+阅读
``` #!/bin/bash des_pass=testtest expect -c " spawn scp target/aaa-0.0.1.war root@192.168.1.30:/home/GameUser/MagicvesselUserWeb/aaa-release.war expect \"password:\" sen
原创 2017-06-19 10:30:26
10000+阅读
2点赞
#!/usr/bin/expect -f set dtime [lindex $argv 0 ]  set password 111111 set timeout 3000; spawn /usr/bin/scp /software/databk/$dtime.sql&
原创 2015-04-05 14:31:25
1368阅读
Shell 脚本自动输入密码的三种方式 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限。方式一使用 echo “密码” | (管道符)使用场景: sudo 命令在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用echo "密码" | sudo 命令比如我需要一键清空服务器,
平时在控制台输入指令如:sudo、ssh、ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密码呢?下面总结三种实现方法:一、重定向:用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入输入密码shell用重定向作为标准输入的用法是:cmd<<delimiter ,
前言:   ssh命令, 没有指定密码的参数. 以至于在脚本中使用ssh命令的时候, 必须手动输入密码, 才能继续执行. 这样使得脚本的自动化执行变得很差, 尤其当ssh对应的机器数很多的时候, 会令人抓狂.本文讲解了两种方式, 一种借助expect脚本, 一种借助sshpass来实现.*) 借助expect脚本来实现1. expect不是系统自带的工具, 需要安装yum install expe
 为啥要加密shell脚本以我个人的需求为例,我要做一个自动远程登录的脚本,每次手动输密码太慢,而且输的多了密码也容易泄露;直接把密码写在脚本里,快确实是快,但是安全性让人无法忍受,写脚本的时候都有可能被过路的不小心看到密码,这就太蛋疼了。 最终解法就是,把密码写在脚本里,作为参数传给下一个脚本让其用来登录,而保存密码脚本,使用某种手段加密,令其不可读但是可执行。 加密方法介绍和实战经
这里我们主要讲使用expect实现自动输入功能:安装:CentOS下安装命令,如下:yum install  expect开始之前的一个简单实例:#!/usr/bin/expect spawn ssh root@1.1.1.1 expect "*password:" send "123\r" expect "*#" interactExpect是一个用来处理交互的命令。我们可以使用exp
背景:在远程文件下载时,需要输入对方的服务器密码shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send)1.安装expect 需要先安装tcl:apt
转载 8月前
853阅读
# 如何在shell脚本输入MySQL密码 在编写shell脚本时,经常会需要与数据库进行交互,其中包括连接到MySQL数据库。在连接到MySQL数据库时,我们需要输入用户名和密码。但是,将明文密码硬编码到脚本中是不安全的做法。因此,我们需要找到一种更安全的方法来输入MySQL密码。 ## 使用MySQL配置文件 MySQL提供了一个配置文件`~/.my.cnf`,可以在其中保存MySQL
原创 3月前
31阅读
答:使用ssh密钥对 示例如下: 如果A机想要获取B机上的文件,那么需要将在A机上生成的公钥放置到B机上的指定位置~/.ssh/authorized_keys 问题一: 如何在A机上生成ssh密钥对? A:请看如何生成ssh密钥对 问题二: 将A机上的公钥如何传送到B机上? (假设B机ip地址为10
转载 2019-02-15 17:13:00
388阅读
2评论
 背景:在远程文件下载时,需要输入对方的服务器密码shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send)1.安装expect 需要先安装t
Linux scp 输入密码 在Linux系统中,scp是一个非常强大的命令行工具,用于在远程主机之间安全地复制文件和目录。它基于SSH协议进行操作,提供了一种安全且高效的文件传输方式。然而,对于使用scp命令进行文件传输时,有时候需要输入密码进行身份验证的情况。本文将介绍如何在使用scp命令时输入密码,提供一种更加方便和安全的身份验证方法。 在默认情况下,scp命令在远程主机上执行时需要输入
原创 3月前
956阅读
shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多。但是有时候我们可能会需要实现和交互程序如ftp,telnet服务器等进行交互的功能,这时候我们需要用到shell的自动交互功能.最简单的例子就是创建用户,我创建100个用户,初始密码为123,那么要是挨着
1.在生成环境中经常要修改服务器的密码,以保证安全,可以用shell编写脚本。用ssh直接修改对方服务器的密码可以用ssh 用户名@登录IP 后跟命令就可以实现,但是需要管理员输入密码后才能操作,为了不让管理员手动进行输入所以用expect解决此方案,由于expect是单独的命令在/bin/bash是无法使用的,所以必须要嵌套使用,<<代表以什么结尾,EOF代表以EOF结尾,spawn
以下是在机器Client的root和机器Server的root之间建立安全信任关系的步骤:    1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。       [root@Client root]# ssh-keygen -b 1024 -t rsa     
scp
原创 2014-09-12 00:48:37
790阅读
1点赞
Linux系统作为一种开源操作系统,广泛应用于服务器领域和个人电脑操作系统中。在 Linux 系统中,常用的命令行工具 SCP(secure copy)可以帮助用户在不同的主机之间进行文件的复制和传输。同时,利用 Shell 脚本编程可以为用户提供更加方便的操作体验。然而,在使用 SCPShell 脚本时,密码输入是一个需要特别关注的问题。 在 Linux 系统中使用 SCP 命令进行文件
Linux是一种广泛应用的操作系统,而在Linux操作系统中,Shell是一种非常重要的组件。Shell是用户与Linux系统内核之间的接口,用户可以通过Shell与系统进行交互。其中,红帽(Red Hat)是一家知名的Linux发行版提供商,其操作系统基于Linux内核开发。 在Linux系统中,Shell命令可以方便用户进行文件操作、程序运行等操作。而SCP(Secure Copy Prot
原创 27天前
26阅读
#!/bin/bashexpect -c "set timeout 1200; spawn /usr/bin/scp -r 192.168.142.128:/shell/backup.tar.gz /shellexpect {\"*yes/no*\" {send \"yes\r\
原创 2013-04-01 17:31:17
2430阅读
  • 1
  • 2
  • 3
  • 4
  • 5