当前位置:首页 » 编程软件 » ssh安全脚本

ssh安全脚本

发布时间: 2023-08-31 08:32:31

㈠ 在脚本中使用ssh时的几个注意事项

1. 超时设置
-o ConnectTimeout=3
2. 重定项标准输入到/dev/null
-n
当使用这样的形式时 (使用 key 认证):
while read line ; do ip=$(awk '{print $1}' < << $line ) ssh -n -o ConnectTimeout=3 $i uptime done < file
假如此时不使用 -n ,则只有第一行会被处理。
3. 批处理模式,在脚本中使用再合适不过(使用 key 认证)
-o BatchMode=yes
当 key 认证不成功时,有可能会弹出“密码认识”,从而影响脚本运行下去,此时可以打开 BatchMode模式。
4. 遇到未知主机:
-o StrictHostKeyChecking=no
当遇到未知的主机公钥时,自动接受key。
5. 糟遇远程主机连接后无响应:
当设置了 BatchMode 时 ServerAliveInterval 默认被设置成 300 秒(服务端无数据传回的持续时间)。
ServerAliveCountMax相当于是重试的次数,比如下面的例子,15秒 x 3 = 45 秒,即当 45 秒后,真正超时断开。
TCPKeepAlive打开时,便于发现网络的断开。当网络故障(比如路由器坏掉)或者远端开机、死机时,连接会主动断开,否则的话,将会等待相当一段时间后才会断开。
-o ServerAliveInterval=15
-o ServerAliveCountMax=3
-o TCPKeepAlive=yes
需要注意的是,这里的超时、无响应,仅是 ssh或者sshd无影响,假如是在远程上执行程序,程序无响应,则不能处理此时的超时,解决方法见《在Shell中实现异步》。

㈡ 求ssh无密码登录linux系统的expect脚本。详细点的,登录之后可以进行相关操作的那种,如果可以希望详谈。

#!/usr/local/bin/expect

set timeout 10

spawn ssh root@ip

expect "*password*"

send "123456\r"

expect "#"

send "service crond restart\r"

expect eof

㈢ 如何写shell脚本自动通过ssh命令登录到服务器

用EXPECT实现用密码登录,也可配置成不需要密码

#!/usr/bin/expect -f

if { $argc < 3 } {

puts stderr "Usage: $argv0 IPAdress Login OldPasswd"

exit
}

set IPADDR [lindex $argv 0]
set LOGIN [lindex $argv 1]
set OLD_PW [lindex $argv 2]

set timeout 30

stty -echo

spawn ssh $IPADDR -l $LOGIN
expect {
"*Password:*" {
send "$OLD_PW\r"
exp_continue
} "*Last login:*" {
#interact
exit 0
} timeout {
send_user "connection to $IPADDR timeout!\n"
exit 1
} "*incorrect*" {
send_user "password incorrect!\n"
exit 2
} "*Permission*" { #for LINUX ssh
send_user "password Error!\n"
exit 2
} eof {
exit 3
}
}

㈣ 求一个批量ssh登录linux服务器,修改配置文件的脚本参考一下。

1、可以配置无密码访问或者用sshpass在shell中存密码
2、实例
ip.txt包含ip列表,每行一个ip
test.sh保护修改配置的命令或者直接修改好,复制到远程指定路径。
3、代码
#!/bin/sh
for ip in `cat ip.txt`; do
echo ${ip};
scp -P22 test.sh root@${ip}:/opt;
ssh -p22 root@$ip "cd /opt;./test.sh;"
done
exit 0;

㈤ 本地shell脚本中ssh到远程服务器并执行命令

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,和耐衫分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式唤腔

1、首先配置ssh免密操作

Linux 下实现SSH互信: https://www.jianshu.com/p/2456d98aa607

2、简单命令

ssh [email protected] "cd /var/lib; ls; cd "

2.1 使用时注意,双引号必须有。若没加双引号,第二条及之后的命令会在本地执行

2.2 分号是将两条语句间隔开

2.3 单双引的区别:单引号不会解析值,是什么就传什么;双引号会解析值,将解析结果传过去

3、多条命令

     ssh [email protected]<< reallssh

      cd /var/lib/test

      tar -zxvf api.com.tar.gz

      ......

      exit

      reallssh

3.1 命令写在 << reallssh(开始亩闷) 至 reallssh(结束) 之间

3.2 reallssh可自己定义为其他形式

3.3 在结束前加上exit退出远程

4、可能遇到的问题

问题:远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误

解决方案:字面意思是伪终端将无法分配,因为标准输入不是终端。

所以需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。

to force pseudo-tty allocation even if stdin isn’t a terminal.

参考样例如下:

ssh -t -t [email protected] -p 22

--------------------------------------------------------------------------------

参考:https://blog.csdn.net/jinking01/article/details/84386769

㈥ 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的运行脚本的语句


-V Display the version number and exit.

显示版本号并退出。

退出SSH当然就断开连接啦。


写在shell脚本里,执行的时候是在新建shell中执行的,退出也只是退出新建shell回到原shell,所以不影响连接。

试试执行:

(ssh-V)

放到小括号中,同样会新建shell去执行。




热点内容
加密文件夹免费下载 发布:2024-11-20 10:48:47 浏览:772
有什么低配置好玩的单机游戏 发布:2024-11-20 10:22:18 浏览:700
去哪里可以把手机密码清除 发布:2024-11-20 10:17:06 浏览:530
什么游戏适合电脑配置不高的玩 发布:2024-11-20 09:52:02 浏览:235
安卓如何拷贝微信聊天记录 发布:2024-11-20 09:51:02 浏览:940
php中for 发布:2024-11-20 09:48:04 浏览:29
安卓手机用什么软件防止别人蹭网 发布:2024-11-20 09:37:18 浏览:839
顶级asmr助眠解压赫敏 发布:2024-11-20 09:36:34 浏览:429
帝瓦雷算法 发布:2024-11-20 09:16:11 浏览:53
怎么查看一个ip地址服务器关闭 发布:2024-11-20 09:12:26 浏览:443