ssh自动化脚本
⑴ linux。。shell 脚本中经常要用到ssh。可是ssh又要交互式输密码。怎么能不交互的输密码呢
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会在~/.ssh下生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了(直接运行 #ssh 192.168.1.100 )
面交互输入,就得使用expect脚本,例:
#!/bin/bash
passwd='123456'
/usr/bin/expect <<-EOF
set time 30
spawn ssh [email protected]
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*password:" { send "$passwd\r" }
}
expect "*#"
send "cd /home/trunk\r"
expect "*#"
send "ls\r"
expect "*#"
send "exit\r"
interact
expect eof
EOF
⑵ linux怎么写脚本让自动登录SSH或者telnet
使用expecte脚本可以实现此命令;网络以下expecte的写法;
⑶ linux 如何自动远程执行脚本
1、安装sshpass
2、sshpass -p “passwd” ssh -p22 root@$dst_ip “a.sh”
注意a.sh是目标主机里的脚本。
⑷ 如何用shell脚本实现SSH的远程登录
要带跳过输入密码的环节么?
如果你想每次链接的时候自己手动输入密码,那就参考这样写
#!/bin/bash
ip=$1
ssh 用户名@ip地址 -p端口号
保存后给执行权限,运行时在脚本后面直接跟一个IP地址
如果你想每次链接的时候自动跳过输入密码的环境,那就再网络下“ssh建立信任关系”,脚本依然还是这个脚本,只是登陆的时候做了互相信任的话,就不需要密码了
⑸ linux shell 远程连接脚本怎么写 Linux
楼上乱讲,你在脚本里 ssh username@远程主机ip 这样写的话会提示你输入密码,脚本不能实现自动化还有什么意义。
直接在shell脚本里是实现不了自动登录的,你需要借助expect脚本。
redhat下默认是没有安装expect,你可以用yum install expect来安装。
安装完成后编写脚本如下
#!/usr/bin/expect -f
set timeout 30
spawn ssh username@host
expect "*assword:*"
send "password\r"
expect eof
保存后给它加上可执行权限,就可以用这个脚本登录了。
解释一下
set timeout 30 设置超时时间
spawn spawn用来启动一个新的进程
expect 用来等待你所期望的系统返回的字符串
send 用来向系统发送一个字符串,即你的密码
expect eof 等待接受文件结束符。
够详细了吧。累死我了。
⑹ 写一个SSH 的脚本如何让其自动输入密码登陆
生成ssh公钥,建立和对方机器的信任关系; 2. 使用expect脚本; 3. 使用sshpass。
⑺ 需求:linux脚本ssh登录到A机器然后再ssh到B机器然后再ssh到C机器,执行命令。这个脚本怎么写
#!/usr/bin/expect
spawnsshaaa@ip-address
expect"password:"
send"password "
expect"$"
send"sshbbb@ip-address "
expect"bbb@ip-address'spassword:"
send"password "
expect"$"
send"sshccc@ip-address "
expect"ccc@ip-address'spassword:"
send"password "
expect"$"
send"pwd "
interact
⑻ secureCRT中如何用 vbscript脚本实现SSH自动登录
SSH的英文全称是SecureShell传统的网络服务程序,如:ftp和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而通过使用SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。同时通过SSH的数据传输是经过压缩的,所以可以提高数据的传输速度,既然如此我们为什么不使用它呢。SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。至于具体如何安装服务器端,普通用户就不需要关心了。一、安装1、安装首先要下载SecureCRT,目前最新的版本为6.1.3(截止到2008年2月,其破解版本TBE或AGAiN),我们以5.53版为例进行介绍,下载安装文件scrt553.exe和破解文件keygen.exe。安装过程很简单,运行scrt553.exe,只要“下一步”即可,安装过程中可以看到SecureCRT支持以下协议:SecureCRT使用说明-脚本之家安装完成后,第一次启动SecureCRT会有如下提示:SecureCRT使用说明-脚本之家用户需要指定一个目录,用来存放SecureCRT的配置信息。此目录默认为C:\DocumentsandSettings\用户名\ApplicationData\VanDyke\Config,如果是升级SecureCRT需要保持此文件夹与旧版本一致,如果重装系统,一定要备份此目录。如果需要更改,启动SecureCRT后点击Options=>Globalptions=>General修改Configurationfolder即可。2、破解未破解版本,只有30天的使用期。关闭SecureCRT,将keygen.exe拷贝到安装目录C:\ProgramFiles\SecureCRT中,运行它,填写Name,Company后点击Generate得到Serial,Date,LicenseKey信息,点击Patch按钮,破解并备份SecureCRT主程序。运行SecureCRT,点击Help=>EnterLicenseData…,填写从keygen得到的注册信息即可。一般AGAiN破解版本期限一年。二、基本设置修改设置为了SecureCRT用起来更方便,需要做一些设置,需要修改的有如下几处:1、退出主机自动关闭窗口Options=>Globalptions=>General=>DefaultSession=>EditDefaultSettingsSecureCRT使用说明-脚本之家Terminal中将Closeondisconnect选上,当用户从主机中退出后可以自动关闭当前连接的窗口。SecureCRT使用说明-脚本之家2、修改默认卷屏行数当你做一个操作,屏幕输出有上百行,当需要将屏幕回翻时,这个设置会有很大帮助,默认为500行,可以改为10000行,不用担心找不到了。Terminal=>Emulation=>Scrollback修改为10000。SecureCRT使用说明-脚本之家3、修改SFTP默认下载路径(可选):对于使用SSH的连接中,可以使用SFTP下载文件,在这里可以设置文件的下载目录(默认为下载到“我的文档”中)Connection=>SSH2=>SFTPTab=>Initialdirectories=>LocaldirectorySecureCRT使用说明-脚本之家4、修改Xmodem/Zmodem上传下载路径(可选)SecureCRT可以使用Xmodem/Zmodem方便的上传和下载文件。在Sessionoptions=>Xmodem/Zmodem=>Directories中设置5、拷贝与粘贴的设置通过鼠标操作即可拷贝或粘贴所需内容是一个非常方便的设置Options=>Globalptions=>Terminal=>Mouse选中Copyonselect和Pasteonmiddlebutton这样设置后,只要用鼠标选中所需内容,则将内容拷贝到剪切板中,点击鼠标中键即可粘贴内容。SecureCRT使用说明-脚本之家另外可以设置使用Windows下的拷贝粘贴快捷键,Options=>Globalptions=>General=>DefaultSession=>EditDefaultSettings=>Terminal=>Mappedkeys=>使用说明-脚本之家6、Tabs设置从Secure5.0以后,增加了Tabs(标签)选项,多个连接可以在同一个窗口下打开,类似IE7.0的风格。将Double-click选项修改为CloseTab,双击标签可关闭连接窗口。SecureCRT使用说明-脚本之家三、界面介绍1、菜单1)File文件Connect连接,打开一个连接或者编辑已有的连接,创建新连接。QuickConnect快速连接,快速连接对话框,快速连接主机的最便捷方式。ConnectinTab在Tab中打开一个新的会话窗口。CloneSession克隆当前会话窗口。ConnectSFTPTab打开SFTP窗口,对于SSH连接,此选项可用。在此会话窗口中可使用SFTP命令传输文件。Reconnect重新连接Disconnect中断当前会话窗口的连接LogSession把当前窗口的会话记录到log文件中。RawLogSession将更详细的会话记录到log文件中,包括服务器更详细的响应信息。TraceOptions在log文件中记录协议会话信息选项。(包括客户端与主机互相连接时的一些信息内容)2)Edit编辑拷贝粘贴等3)View视图显示各种工具条4)Options选项包括全局选项和Session选项5)Transfer传递文件使用Xmodem/Zmodem上传下载文件6)Script.脚本运行一个脚本文件,或记录一个新的脚本。(类似Word中的宏功能)7)Tools工具键盘映射编辑,密钥生成工具等8)Help帮助2、对话框和按钮点击File=>Connect可出现Connect对话框。从左至右按钮依次为:连接(激活选中的连接条目);快速连接(快捷连接新的主机);新建连接(在对话框中新增一个连接条目);剪切;复制;粘贴;删除(对话框中的条目);新建文件夹,属性(显示选中条目的属性),创建条目的桌面快捷方式,帮助。SecureCRT使用说明-脚本之家Connect对话框下方有两个选项:Showdialogonstart(启动SecureCRT时显示Connect对话框);Openinatab(以新标签卡的形式打开一个会话),选中此选项,新的会话窗口如下图所示:在Linux主机下,可以使用Xmodem/Zmodem方便的上传和下载文件基本命令:sz下载文件到本地;rz上传本地文件到主机。5、其它技巧1)使用脚本来进行重复性工作可以像word的宏一样,把你的重复性操作记录为一个脚本文件Script.=>StartRecordingScript,开始记录Script.=>StopRecordingScript,停止记录,Saveas…保存成script文件。下次调用时Script.=>Run=>SelectScript.torun…SecureCRT使用说明-脚本之家2)使用Mapkey来进行重复输入工作可以设置为全局选项(对所有连接都有效),也可以只设置为Session选项,如下图Options=>Sessionptions=>Terminal=>Mappedkeys=>Mapakey,出现MapKey对话框SecureCRT使用说明-脚本之家SecureCRT使用说明-脚本之家例如,单击F12键,在SendString输入你要经常重复使用的命令,okSecureCRT使用说明-脚本之家则下次在会话窗口中点击F12键将直接输入df–m3)自动登录以登录一个Telnet的主机为例,Sessionptions=>Connection=>LogonScripts=>Automatelogon,在login后的send中输入用户名,在Password后的send中输入密码。则可实现自动登录。SecureCRT使用说明-脚本之家用SecureCRT来上传和下载数据SecureCRT可以使用linux下的zmodem协议来快速的传送文件,只要设置一下上传和下载的默认目录就行options-->sessionoptions-->filetransfer下可以设置上传和下载的目录剩下的只要在用SecureCRT登陆linux终端的时候:发送文件到客户端:szfilenamezmodem接收可以自行启动.从客户端上传文件到linux服务端:只要服务端执行,rz然后在SecureCRT里选文件发送,协议zmodem。
⑼ 如何通过SSH远程运行命令自动化
从客户端来看,SSH提供两种级别的安全验证。 第一种级别(基于口令的安全验证),只要你知道自己的帐号和口令,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,这种验证方式不能保证你正在连接的服务器就是你想连接的服务器。
⑽ echo命令能实现ssh的自动脚本登录吗
你的问题好奇怪,echo在不同shell中也都是同一个意思,回显,回显如何实现登录?