当前位置:首页 » 编程软件 » 脚本输密码

脚本输密码

发布时间: 2023-05-22 18:20:20

Ⅰ 如何在脚本中执行scp时自动输入密码

脚本如下:x0dx0ax0dx0a#!/usr/bin/expect -fx0dx0ax0dx0aset password 密码x0dx0ax0dx0aspawn scp 用户名@目标机器ip:拷贝文件的路径 存放本地文件的路径 x0dx0aset timeout 300 x0dx0aexpect "用户名@目标机器ip's password:" #注意:这里的“用户名@目标机器ip” 跟上面的一致x0dx0aset timeout 300 x0dx0asend "$password\r"x0dx0aset timeout 300 x0dx0asend "exit\r"x0dx0ax0dx0aexpect eofx0dx0ax0dx0a附:scp参数x0dx0a-r:拷贝目录x0dx0a-c:允许压缩x0dx0ax0dx0a一个完整的例祥孙子x0dx0ax0dx0a#!/usr/bin/expect -fx0dx0aset password 123456x0dx0a#downloadx0dx0aspawn scp [email protected]:/root/a.wmv /home/yangyz/首握x0dx0aset timeout 300 x0dx0aexpect "[email protected]'s password:"x0dx0aset timeout 300 x0dx0asend "$password\r"x0dx0aset timeout 300 x0dx0asend "exit\者宴庆r"x0dx0aexpect eof x0dx0ax0dx0a#uploadx0dx0aspawn scp /home/yangyz/abc.sql [email protected]:/root/test.sql x0dx0aset timeout 300 x0dx0aexpect "[email protected]'s password:"x0dx0aset timeout 300 x0dx0asend "$password\r"x0dx0aset timeout 300 x0dx0asend "exit\r"x0dx0aexpect eof

Ⅱ 如何在脚本里面自动输入密码

shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多。
但是有时候我们可能会需要实现和交互程序如ftp,telnet服务器等进行交互的功能,这时候我们需要用到shell的自动交互功能.
最简单的例子就是创建用户,我创建100个用户,初始密码为123,那么要是挨着passwd username ,交互性输入密码,那不得疯掉,但是脚本里应该怎么写呢?将密码123,输入到passwd命令?
本文收集了较常用交互方法,并进行了比较和总结。
自动交互方法一:利用命令的自带参数,将标准输入作为手动输入的内容
自动交互最关键的就是交互信息的自动输入,首先联想到文件重定向,在shell编程中有这样一种用法(参考linux与UNIX SHELL编程指南 chapt 5.7):"command <<delimiter p="" 从标准输入中读入,直至遇到delimiter分界符。?
重定向操作符command <<delimiter是一种非常有用的命令,shell将分界符delimiter之后直至下一个同样的分界符之前的所有内容都作为输入,遇到下一个分界符, p="" shell就知道输入结束了。最常见的delimiter分界符是eof,当然完全可以自定为其他字符。
对于需求1 要求的自动登陆ftp,并作系列操作,则可以用这种方法进行自动交互。代码如下:
[yjwan@test ~]$ ftp -i -n 192.168.21.46 <
user dbftp dbftp101
ls
EOF
下面是得到的结果:
Connected to 192.168.21.46.
220 developerjail FTP server (Version 6.00LS) ready.
331 Password required for dbftp.
230 User dbftp logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
229 Entering Extended Passive Mode (|||54281|)
150 Opening ASCII mode data connection for '/bin/ls'.
total 8847424
-rw-r--r-- 1 dbftp www 9055318991 Aug 28 14:28 ewiz90.sql_2010-08-29
226 Transfer complete.
221 Goodbye.
测试可以发现,如上代码使用帐号名dbftp,密码dbftp101成功登陆了ftp服务器,并进入目录,ls出当前目录的文件。
注意事项:
1 这里一定要加-i ,否则必定失败!!
这里ftp用的-I 参数 结束了交互式输入,因此可以用文本的方式自动地输入用户密码以及操作方式
如果不用-I 参数,那么必定要求你手动输入密码的!!那么就达不到自动登陆的要求了
你可以man ftp找到这个参数
-i 关闭多文件传送中的交互式提示。请参考 prompt、mget、mput 和 mdelete 子命令,以取得多文件传送中的提示的描述。
-n 防止在起始连接中的自动登录。否则, ftp 命令会搜索 $HOME/.netrc 登录项,该登录项描述了远程主机的登录和初始化过程。请参考 user 子命令。
2 举一反三:只要是要求输入密码的命令,一般都带有一个参数,允许你从标准输入,输入用户密码,以及操作。
其他常用的自动登陆命令的参数
1) Passwd命令
Linux下 Passwd有参数
--stdin
This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.
所以linux下自动改变用户密码的办法就是
Echo 密码 |passwd –stdin 用户名
Freebsd没有以上参数 注意
他的方法是echo passwd |pw mod user username -h 0
2)smbpasswd
-s
This option causes smbpasswd to be silent (i.e. not issue prompts)
and to read its old and new passwords from standard input, rather
than from /dev/tty (like the passwd(1) program does). This option
is to aid people writing scripts to drive smbpasswd
3)sudo
在shell脚本中需要用root用的来执行指令:
sudo 自动输入密码
echo "password" | sudo -S netstat -tlnp
-S
The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.
3 标准输入还可以用以下两种写法:
可以将下面的内容写入到一个文本
然后ftp -I –n ip <文本
或者echo “..” |ftp –I –n ip
都是可以的!
因为他们都满足“有一个标准的输入”这个条件
4 ssh的自动登陆没有这样的自动输入密码的参数
一般都是使用公钥/私钥的方式自动登录
这种文章满街都是,网上google一下ssh自动登陆就可以找到答案。
或者用下面的办法。
自动交互方法2:利用expect脚本自动登陆
这个 expect基本属于一种编程了
基本任何需要交互式登陆的场合,他都可以解决,是相当的牛逼。
只要是第一种办法解决不了的,基本都可以用这种办法。

Ⅲ 我打开一个文件夹,,弹出了个窗口:"脚本提示,,请输入密码".请问这是怎么回事

给Windows 9x/2000文件夹加密。通过给一个文件夹加密就可使该文件夹里的所有文件得到保护。其工作效果,就是在您双击进入该文件夹时系统提示您输入密码,正确则进入,错误则自动退回到硬盘根目录下——非常好用!

1、进入您要进行加密保护的文件夹中,在空白处单击鼠标右键,选择“自定义文件夹…”选项;

2、单击“下一步”选择“自定义”并在副选框中选择“选择或编辑该文件夹的Html模板”,单击“下一步”

3、在选择模板类型中选冲岁侍择“标准”,并将“编辑该模板”选项选中,单击“下一步”
4、在弹出的“Folder”文件中找到〈script language="javaScript"〉,在其下方顶头输入以下内容:

var pass = prompt("请输入密码")

该处的“请输入密码”为系统提示语

if(pass != "123")

“123”处换成您自己设定的密码

{window.location="c:"}

5、保存“Folder”文件之后,选择完成,文件夹加密就完成了,您可以进行测试啦

因为刚才的诸多步骤就是Windows的脚本编程,所以经验证,该方法适用于所有Windows系统。如果需要去掉保护,只需要把“Folder”文件修改回原样就好啦!

我常用上面这种方法
还有下面几种方法(我不常用)

NTFS格式下加、解密问题

NTFS是WinNT以上版本支持的一种提供安全性、可靠性的高级文件系统。在Win2000和WinXP中,NTFS还可以提供诸如文件和文件夹权限、加密、磁盘配额和压缩这样的高级功能。

一、加密文件或文件夹
步骤一:打开Windows资源管理器。
步骤二:右键单击要加密的文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。选中“加密内容以便保护数据”复选框

在加密过程中还要注意以下五点:
1.要打开“Windows 资源管理器”,请单击“开始→程序→附件”,然后单击“Windows 资源管理器”。
2.只可以加密NTFS分区卷上的文件和文件夹,FAT分区卷上的文件和文件夹无效。
3.被压缩的文件或文件夹也可以加密。如果要加密一个压缩文件或文件夹,则该文件或文件夹将会被解压
4.无法加密标记为“系统”属性的文件,并且位于systemroot目录结构中的文件也无法加密。
5.在加密文件夹时,系统将询问是否要同时加密它的子文件夹。如果选择是,那它的子文件夹也会被加密,以后所有添加进文件夹中的文件和子文件夹都将在添加时自动加密。

二、解密文件或文件夹
步骤一:打开Windows资源管理器。
步骤二:右键单击加密文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。
步骤四:清除“加密内容以便保护数据”复选框。

同样,我们在使用解散吵密过程中要注意以下问题:
1.要打开“Windows资源管理雀渗器”,请单击“开始→程序→附件”,然后单击“Windows资源管理器”。
2.在对文件夹解密时,系统将询问是否要同时将文件夹内的所有文件和子文件夹解密。如果选择仅解密文件夹,则在要解密文件夹中的加密文件和子文件夹仍保持加密。但是,在已解密文件夹内创立的新文件和文件夹将不会被自动加密。

以上就是使用文件加、解密的方法!而在使用过程中我们也许会遇到以下一些问题,在此作以下说明:
1.高级按钮不能用
原因:加密文件系统(EFS)只能处理NTFS文件系统卷上的文件和文件夹。如果试图加密的文件或文件夹在FAT或FAT32卷上,则高级按钮不会出现在该文件或文件夹的属性中。
解决方案:
将卷转换成带转换实用程序的NTFS卷。
打开命令提示符。
键入:Convert [drive]/fs:ntfs
(drive 是目标驱动器的驱动器号)
2.当打开加密文件时,显示“拒绝访问”消息
原因:加密文件系统(EFS)使用公钥证书对文件加密,与该证书相关的私钥在本计算机上不可用。
解决方案:
查找合适的证书的私钥,并使用证书管理单元将私钥导入计算机并在本机上使用。
3.用户基于NTFS对文件加密,重装系统后加密文件无法被访问的问题的解决方案(注意:重装Win2000/XP前一定要备份加密用户的证书):
步骤一:以加密用户登录计算机。
步骤二:单击“开始→运行”,键入“mmc”,然后单击“确定”。
步骤三:在“控制台”菜单上,单击“添加/删除管理单元”,然后单击“添加”。
步骤四:在“单独管理单元”下,单击“证书”,然后单击“添加”。
步骤五:单击“我的用户账户”,然后单击“完成”(如图2,如果你加密用户不是管理员就不会出现这个窗口,直接到下一步) 。
步骤六:单击“关闭”,然后单击“确定”。
步骤七:双击“证书——当前用户”,双击“个人”,然后双击“证书”。
步骤八:单击“预期目的”栏中显示“加密文件”字样的证书。
步骤九:右键单击该证书,指向“所有任务”,然后单击“导出”。
步骤十:按照证书导出向导的指示将证书及相关的私钥以PFX文件格式导出(注意:推荐使用“导出私钥”方式导出,这样可以保证证书受密码保护,以防别人盗用。另外,证书只能保存到你有读写权限的目录下)。
4.保存好证书
注意将PFX文件保存好。以后重装系统之后无论在哪个用户下只要双击这个证书文件,导入这个私人证书就可以访问NTFS系统下由该证书的原用户加密的文件夹(注意:使用备份恢复功能备份的NTFS分区上的加密文件夹是不能恢复到非NTFS分区的)。

最后要提一下,这个证书还可以实现下述用途:
(1)给予不同用户访问加密文件夹的权限
将我的证书按“导出私钥”方式导出,将该证书发给需要访问这个文件夹的本机其他用户。然后由他登录,导入该证书,实现对这个文件夹的访问。
(2)在其也WinXP机器上对用“备份恢复”程序备份的以前的加密文件夹的恢复访问权限
将加密文件夹用“备份恢复”程序备份,然后把生成的Backup.bkf连同这个证书拷贝到另外一台WinXP机器上,用“备份恢复”程序将它恢复出来(注意:只能恢复到NTFS分区)。然后导入证书,即可访问恢复出来的文件了。

Win98加密文件夹四法

一、文件夹属性法

在“Windows资源管理器”窗口,右键单击要加密的文件夹,单击“属性”,选中“隐藏”复选框。在注册表的“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL”分支下,将“Checkedvalue”的键值设置为数字“0”。以后,即使在“Windows资源管理器”窗口,单击“查看”菜单中的“文件夹选项”,单击“查看”选项卡,选中“显示所有文件”复选钮,也无法看到具有隐藏属性的文件夹。

二、“回收站”法

首先确认选中了“显示所有文件”复选钮,并且注册表中“Checkedvalue”的键值为“1”。然后,在“Windows资源管理器”窗口,右键单击“C:\RECYCLED”文件夹(这是C盘上“回收站”对应的文件夹),再单击“属性”,单击“常规”选项卡,清除“启用缩略图方式查看”和“只读”复选框,单击“确定”按钮。关闭并重新启动“Windows资源管理器”后,将会看到“C:\RECYCLED”文件夹中有一个desktop.ini文件。把该文件复制到要加密的文件夹中,并把该文件夹设为“只读”属性。

三、“文件管理器”法

单击“开始/运行”,键入“winfile”,单击“确定”按钮,打开“文件管理器”窗口,单击“查看”菜单中的“按文件类型”,选中“显示隐藏/系统文件”复选框,单击“确定”按钮。把要加密的文件夹拖到“C:\RECYCLED”文件夹或者其他分区的“RECYCLED”文件夹。这样,在“我的电脑”或“Windows资源管理器”窗口中就看不到这个文件夹了。

四、设置密码

1、打开“资源管理器”,选定要加密或要保护的文件夹(文件目录),在其中空白处单击鼠标右键,选择“自定义文件夹…”选项;
2、在“自定义文件夹”的复选框中,选择“创建或编辑HTML文档”,并单击“下一步”,系统准备启动HTML编辑器;
3、单击“下一步”,系统启动HTML编辑器,自动打开Folder.htt文档;
4、编辑Folder.htt文档,搜索“javascript”字符,在下方顶头输入以下3行内容:

var pass = prompt("请输入密码")

if(pass != "ABC")

{window.location="E:"};

5、保存Folder.htt文档并退出编辑,选择“完成”;到此,对文件夹的加密或保护便已完成;
6、加密测试,关闭已打开的所有文档及文件夹,重新打开“资源管理器”,点击已加密的文件夹,系统便会提示输入密码,输入正确的密码(本文设定的密码为ABC)就可以访问该文件夹,反之则会转入E盘而无法访问,从而保护该文件夹及其中的文档。

Ⅳ linux shell脚本,运行时要输入密码,密码正确才往下跑,这个怎么实现呢

A=123456
read-p"请输入密码:"PASSWD
if["$PASSWD"=="$A"];then
continue
else
echo"密码不错误,请重启输入!"
fi

Ⅳ 如何在Shell脚本输入密码

这问题太广泛了。想到其中一种可能,下面答案来自

Linux命令大全 网站

终端输入密码时候,不让密码显示出来的例子。

方法1:

#!/bin/bash
read-p"输入密码:"-spwdecho
echopasswordread,is"$pwd"

方法2:

#!/bin/bash
stty-echo
read-p"输入密码:"pwd
sttyecho
echo
echo输入完毕。

Ⅵ 如何在脚本中执行scp时自动输入密码

用Perl或者其他脚本的时候,都会遇到需要输入密码的问题,导致脚本会被中断。

如何才能不被中断,SCP可以自动输入密码呢,脚本顺利执行呢?我用了一个sshpass工具。

1.下载地址:

http://sourceforge.net/projects/sshpass/

2.安装:

./configure

make

make install

3.为了能在任意地方执行命令 cp sshpass
/usr/bin/

4.执行的命令如下:
sshpass -p
$PASSWD scp -o StrictHostKeyChecking=no $CMD

Ⅶ 如何svn脚本命令check out自动输入密码

svn脚本命令check out自动输入密码:
需要把svn checkout/export写入一个脚本中,执行
但是访问失败,需要授权
svn: PROPFIND request failed on “XXXXXXX”
svn: PROPFIND of 'XXXXX': 403 Forbidden

改用python通过urllib访问读取也不行
拿到的html代码是输入用户名和密码页面的html
1.因为面向的使用者不是同一个,有些人可能没有权限
如何拿到用户名和密码,密码只能每次输入么?有没有svn自动保存在某地
2.有什么方法可以搞定?check out附带用户名或密码
thx

|

svn login会将密码保存到相应的文件,以后svn co就不需要再输入密码了

如果要以其他ID去checkout,可以使用(svn co --help查看帮助):
svn co --username XXX http://ip/....
使用这个命令后,上面的svn login信息文件会被修改成新的ID/passwd
|添加选项
-user u -password p
另外,svn貌似也会自动保存密码的

Ⅷ SHELL脚本切换用户需输入密码

正常情况下,使用su - username的方式,普通用户切换都需要输入密码的,只有root su的时候才不需要

Ⅸ linux 脚本执行命令为什么需要输入密码

因为有环境变量PATH,禅绝里面包含了许多目录,这些目录下的可执行文件就无需输入完整路径来执行。 你可以用 echo "$PATH"查看当前的环境变量包含的目录,自带的命令文件都是在PATH 中的,所以可以直接使用清衡。 ./代表当前目录,由于自己编写的贺正姿脚本就...

Ⅹ 安卓设备中在执行bat脚本时abd shell自动输入密码并执行命令怎么写

可以使用 echo 命令和管道符 | 将密码输入到 adb shell 的命令中。假设你的密码为 mypassword,需要执行的命令为 mycommand,那么弯弯亏可以这样写:
echo mypassword | adb shell mycomman
在上面的命令中,echo mypassword 将密码输出到标准输出流,然后通过管道符 | 将标准输出流连接到 adb shell mycommand 命令的标准输入流中,这样就实现了自动输入密码并执行命令埋神的效闹谈果。

热点内容
压缩长抱枕 发布:2025-07-18 16:13:38 浏览:503
如何使用wifi热点配置网络 发布:2025-07-18 16:06:25 浏览:969
android软键盘数字 发布:2025-07-18 16:03:18 浏览:611
三菱plc编程软件官网 发布:2025-07-18 15:59:59 浏览:437
gse源码 发布:2025-07-18 15:58:15 浏览:627
编译链c语言执行速度 发布:2025-07-18 15:52:51 浏览:555
在线编程课程 发布:2025-07-18 15:46:56 浏览:173
生兔子算法循环 发布:2025-07-18 15:44:32 浏览:47
背包规划算法 发布:2025-07-18 15:44:27 浏览:110
微信安卓手机哪里设置铃声 发布:2025-07-18 15:36:54 浏览:781