代码改变世界

secureCRT使用相关-利用SecureCRT上传、下载文件(使用sz与rz命令)

2014-02-10 17:05  youxin  阅读(1522)  评论(0编辑  收藏  举报

借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器。

 sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。

  rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。

 

    记住一点,不论是send还是received,动作都是在服务器上发起的。我们习惯了说上传或是下载,其实大可不必。使用这两个命令,只要思考一点,是要把文件从服务器上发送出去,还是从客户端接上接收回来,就可以了。

sz用法:

	下载一个文件
	sz filename 

	下载多个文件
	sz filename1 filename2

	下载dir目录下的所有文件,不包含dir下的文件夹
	sz dir/*

下载文件存放位置在securtCRT中设置,位于:

英文版 options — session options — X/Y/Zmodem。

中文版 选项— 会话选项— X/Y/Zmodem。

rz用法:

输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。

 

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

 

操作示例:

 

先进行上传操作,我们使用 rz命令,出现如下:

 

出现对话框选择你要上传的文件,点击确定,这里我们建议你最好选择一个要上传到的某个目录,这样利于管理,所有的上传的文件都在此目录下利于管理.

新建立了一个download文件夹 ,cd download/进入文件夹,我把文件都上传到root/download在当前目录进行上传。

在此时输入 rz进行上传就可以了,选择你要上传的文件

 

点击确定,此时就应该开始上传了,会看到进度条在走

,如果不出现上传的界面,可以点击

 

 

关于用rz文件时会发生错误,有时出现上传压缩文件,但不能解压,文件损坏了。一篇文章:

什么是Zmodem协议

Zmodem是针对modem的一种错误校验协议。利用Zmodem协议,可以在modem上发送512字节的数据块。如果某个数据块发生错误,接受端会发送“否认”应答,因此,数据块就会被重传。它是Xmodem 文件传输协议的一种增强形式,不仅能传输更大的数据,而且错误率更小。包含一种名为检查点重启的特性,如果通信链接在数据传输过程中中断,能从断点处而不是从开始处恢复传输。

XModem的工作过程 XModem工作时,先由收方发出NAK,然后等待发方的包开始SOH。收到SOH后,即 将整个包收完,检查是否有错。如出错,则向发方发出一个NAK,请求发方重发; 否则发出ACK,表示接收正确,请发下个包。XModem检查包编号和checksum来确定 该包是否传送有问题。编号是发方送得出包的顺序。当XModem发送完最后一个包 时,收方会收到文件结束符(EOT),此时,收方会送出一个ACK通知发方传送结束。
※ YModem是XModem的改进版。它可以传送多个文件,数据长度可达1K字节支持16位 CRC校验。
※ Zmodem不但具有纠错功能,而且是一种流式协议。它不再以收方发ACK引导。 ZModem完全以包引导,通常用于BBS。

安装

yum install -y lrzsz

sz命令

用途说明:sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。相对应的从本地上传文件到Linux服务器,可以使用rz命令。

常用参数
-a 以文本方式传输(ascii)。

-b 以二进制方式传输(binary)。

-e 对控制字符转义(escape),这可以保证文件传输正确。

如果能够确定所传输的文件是文本格式的,使用 sz -a files

如果是二进制文件,使用 sz -be files

rz命令

如何避免rz命令文件不乱码

-b 以二进制方式,默认为文本方式。(Binary (tell it like it is) file transfer override.)

-e 对所有控制字符转义。(Force sender to escape all control characters; normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.)

如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:

rz -be

此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。

果执行完毕显示“0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。

 

 

-b 二进制的方式传输,默认是文本方式

-e 对所有控制字符转义

  -b, --binary                binary transfer

  -e, --escape                Escape control characters (Z)

 

   -y, --overwrite             Yes, clobber existing file if any

 

 

参考:

http://blog.csdn.net/lioncode/article/details/7921525

 

secureCRT出现:

 

 

点击Create New Session DB就可以了。 

 

 

 

CRT有时候 会话标题会变动

 

标签标题

在CRT工具栏中选择: Options(选项) --> Session Options(会话选项) --> Terminal(终端) --> Emulation(仿真) --> Advanced(高级) --> Other(其他) --> Ignore window title change requests(忽略窗口标题更改请求),即可使CRT标签页的标题显示为会话配置的名称。

 

 

 

设置SecureCRT会话的缓冲区大小

 

SecureCRT配置操作日志及自动输出

在菜单里选择“Options选项”——“Global Options全局选项” 

 

然后选择General常规——Default Session默认会话——Edit Default Settings编辑默认设置

 

然后选择Log File日志文件

 

 

 

 

在日志文件名里填入你想保存的日志路径名加日志文件名 

Start log upon connect表示连接时启动记录,Append to file表示不覆盖追加到文件。
这里为了可以每个会话都打成一个日志,可以采用支持的参数 
%H 主机名 %S 会话名 
%Y 年份 %M 月份 %D 日 
%h 小时 %m 分钟 %s 秒 
 填写的E:\SecureCRT\Logs\%H\%Y-%M-%D_%h%m%s.log 
就是会保持在E:\SecureCRT\Logs\目录下,路径里也可以使用参数 

我填写的是:E:\secureCRTDownload\logs\%S\%Y-%M-%D_%h%m%s.log 


\%H\这样设置可以把同一个主机的日志到到一个文件夹里,文件夹名就是主机名,没有会自动创建文件夹 

这里可以勾选上连接上开始记录日志 

因为我们经常开着SecureCRT,但不一定一直在用,为了知道我输入的每一行命令是在什么时候,可以在“On each line在每行”这个设置里填写[%h:%m:%s] 

这样就会记录每行日志打入的时间。

 

参考:https://www.cnblogs.com/xiegj/p/5669892.html

 

 

窍门六:强大的按钮栏
SecureCRT窗口集成了一个特殊功能:按钮栏。

此按钮栏能够自定义各种按钮,并赋以某些功能。

例如,你希望每一次打开设备后,执行一个基本的命令。

以前你是一个个的手动输入,但是现在你可以顶一个按钮,点一下,就执行完毕。

按钮内容可以包含输出回车,空格,或者等待一段时间等。

配置方法:

点击查看(view)-> 按钮栏(Button Bar)

此时SecureCRT窗户底下会出现一条横杠。右击它,会出现“新建按钮”的选项。

 

 

 

6.1 发送字符串功能

首先选择“Send String”发送字符串功能,然后在窗口右侧添加你需要发送的内容。

例如我想查看查看Linux的IP地址,路由。我们可以定义如下内容:

 

 

 

上图中,我定义了两条命令:

ip address 和 ip route。其中的\r \p的含义在上面的红色框内有定义,即发送回车以及停顿一秒钟。

同时,在Label一栏中我们可以给此按钮栏取名为Linux-Check。

完成以后, 点击OK保存。

回到SecureCRT页面,左键单击此按钮就可以执行,如下所示:

定义菜单功能
按钮栏除了自定义字符串以外,还能定义很多日常使用的菜单功能,例如连接一个新主机,记录会话等。

此处我仅仅演示如何做一个记录会话的按钮。

如下图所示:

 

 

 

首先在功能部分,选择“Menu Function 菜单功能”。

其次,在右侧的下拉菜单中选择你需要的功能,本例中我选择了“MENU_LOG_SESSION”记录会话日志。

然后给一个名字,点击保存。

 

完成以后,左键点击新建的“Log-Session”按钮,就会蹦出一个窗口告知你在哪里存这个新的日志文件,如上图所示。

 

 

窍门七:自动登录会话
日常工作中,你可能需要每天对某些设备做巡检工作,若我们能够设置让SecureCRT软件开启后马上就自动连接某些会话,岂不是很方便?

没错,很简单就能搞定,配置方法如下:

在 选项 -> 全局选项 ->常规 ->默认会话 中,你可以选择“使用自动会话“,然后添加你希望软件启动时自动连接的项目即可。

如下所示:

 

 

 

 

窍门八: 常用会话,做一个快捷方式放桌面吧
你的电脑桌面上肯定有各种软件图标,用于启动各种软件。

那同样的,我们可以不可以把经常需要连接的设备也做一个快捷方式放到桌面上呢?

答案是肯定的,方法如下:

在SecureCRT的左侧会话管理栏里面,选择你想做成快捷方式的会话,然后点击右上角的箭头即可。

若下图所示:

 

 

 

窍门九:告别无聊的颜色,让字符鲜活起来

是不是厌倦了单调的色彩?

是不是很希望输出的字符能够标识上特殊的颜色,例如IP地址,数字等?

 

 

 


其实这些都可以搞定,你只需要编写一个匹配特定内容的正则表达式,并赋予颜色即可。

什么?我还得自己写一个,还是正则表达式?

就知道你会是这个反应,为此我特地找了现成的配置,链接如下:

https://forums.vandyke.com/attachment.php?attachmentid=1527&d=1524582386

上述连接中,包含了一个Cisco words.ini的文件,大家放心下载下来,并放到此文件夹内(以windows 10 为例):

C:\Users\你的用户名\Documents\SecureCRT\Keywords 下。

完成以后,让我们回到SecureCRT加载此颜色配置,步骤如下:

选项->全局属性
全局属性里面选择 常规->编辑默认设置
打开的窗口内,选择终端->外观,并在关键字部分,选择Cisco Words。
最后选择加粗,颜色(color)即可
若需要自定义颜色,点击编辑即可按照自己的喜好修改。
如下所示:

 

 

注意:一定要勾选下面的 Advanced的color选项,不然没有彩色显示

 

 

 

 https://www.jianshu.com/p/73670d22177e

 

颜色配置文件下载:http://download.feralpacket.org/Lab%20Highlights.ini

 

简书分享的一个配置文件;

D:"Match Case"=00000000
Z:"Keyword List V2"=00000016
 "(no(t)?(connect)?)|((shut)?(down)?)",000000ff,00000001
 "(dis((able(d)?)|(connect(ed)?)|(allow(ed)?)|(card(ed)?))|(error(s)?))|(fail((ure)|(ed))?)|((city)?[w]{2}m)|(den((y)|(ied)){1})",000000ff,00000001
 "red|administratively|undo|unknown|fault|block|refused|problem|warnings|alerts|critical|delete|inactive|unassigned",000000ff,00000001
 "(([7-9]\d)|(100))(\.\d{0,2})?\%",000000ff,00000001
 "green|up|forward|full|active",0000ff00,00000001
 "(connect(ed)?)|(permit(ed)?)|(estab(lish)?(ed)?)|(enable(d)?|(allow(ed)?))",0000ff00,00000001
 "(([0-3](\d)?)|\d{1})(\.\d{0,2})?\%",0000ff00,00000001
 "(bgp|(ospf(v3)?)|(rip(ng)?)|eigrp|static|odr|unr|(is(\-)?is)|pim|direct)(\-\d*)?",00ff8000,00000001
 "cyan|ipv6|tcp|udp|(i(c|g)mp)|gre|esp|ah|isakmp|(arp(a)?)|dhcp|(http(s)?)|dns|((t)?ftp)|telnet|ssh|www|ntp|radius|tacacs|pop\d|smtp|ppp|fr(ame(\-)?relay)?|hdlc",00ff8000,00000001
 "standby|vrrp|glbp|(mst(p)?)|((r)?stp)|spanning\-tree|dot1q|802\.1q",00ff8000,00000001
 "ldp|tdp|mpls|aaa|(account(ing)?)|(auth((entication)|(orization)))|nat|bfd|nqa|sla|rtr|vrf|vpn(\-instance)?",00ff8000,00000001
 "(((passive\-)|(silent\-))?interface)|(in|out)((bound)|(put))?",00ff00ff,00000001
 "magenta|router|redistribute|(import(\-route)?)|export|network|neighbor|peer|area|acl|(class((ifier)|(\-map)))|behavior|policy(\-map)?",00ff00ff,00000001
 "access\-((list)|(class)|(group))|ip\-prefix|prefix\-list|(route(\-.*)?)|(traffic.*)",00ff00ff,00000001
 "[4-6]\d((\.\d{0,2})?)\%",00ff00ff,00000001
 "((fast)?|(gigabit)?)ethernet((\d)?\d\/)*(\d)+(\.\d{1,4})?",000080ff,00000001
 "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\/(\d){0,2})?",000080ff,00000001
 "([A-Fa-f0-9]{1,4}::?){1,7}[A-Fa-f0-9]{1,4}(\/(\d){0,3})?",000080ff,00000001
 "([0-9a-fa-f]{4}[.|-][0-9a-fa-f]{4}[.|-][0-9a-fa-f]{4})|([0-9a-fa-f]{2}[.|-]){5}[0-9a-fa-f]{2}",000080ff,00000001
 "\d{1,2}\.([0-9a-fA-F]{2,4}.){1,11}\d{1,2}",000080ff,00000001
 "(orange|ge|fa|fe|(eth((\-)?(trunk)?))|null|loopback|tunnel|dialer|bri|serial|atm|pos|(vlan(if)?))(((\d)?\d\/)*(\d)+)?",000080ff,00000001
 "((virtual\-(template|ppp|access))|(channel\-group)|(port\-channel)|(ether(\-)?channel))(((\d)?\d\/)*(\d)+)?",000080ff,00000001

 


————————————————
原文链接:https://blog.csdn.net/ths512/article/details/96100851

 

 

窍门十:堡垒机跳跳跳
在某些公司网络内部,为了保证设备网管的安全,在登陆设备之前需要先登陆堡垒机,然后从堡垒机登陆设备。

往往大家的做法,就是在SecureCRT里面建立堡垒机的会话连接堡垒机,然后在堡垒机内部在手动连接特定设备。

其实,SecureCRT早就想到了这个问题,有一个功能叫做“firewall”防火墙的功能,其实就是用来跳过堡垒机。

演示案例:

例如我有一台设备叫做Jekyll-Server,堡垒机称为EVE-NG-MGMT。

演示拓扑:

我的PC-------EVE-NG-MGMT堡垒机------Jekyll-Server。

我的最终目的是SSH 登录到Jekyll-Server。而通过SecureCRT的firewall功能,可以很轻松的搞定此事

————————————————
 原文链接:https://blog.csdn.net/ths512/article/details/96100851

 

 

SecureCRT复制颜色文本到word编辑器中

SecureCRT版本是7.3.4,Options>Session Options>Terminal>Emulation>Advanced> Advanced Emulation>other>选择copy to clipboard as RTF and plain text

从CRT复制文本时保持颜色、字体的格式

 

 

 

关于使用退格键的问题
Options→Global Options→General→Default Session→Edit Default Settings...→Terminal→Emulation→Mapped Keys→Other mappings选中Backspace sends delete

设置前:按退格键出现^H的字样

设置后:按退格键就可以删除前面的内容

 

 

ssh连接复用

 

默认情况下,每次打开一个新的窗口登录跳板机都需要输入密码,这样很低效,客户端可以配置开启连接复用,避免每次登录jumper都需要输入密码,配置文件:~/.ssh/config(个人账号配置) 或者 /etc/ssh/ssh_config(全局配置),追加示例配置如下:

 

1
2
3
4
Host jumper.xxxx.com
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster  auto
ControlPersist yes

 

注意***:  当你的电脑断网时间过长(大概是10分钟), 连接复用的socket会断开, 此时再登陆跳板机的时候等待时间会加长, 并且需要再次输入密码. 如果不想等待可以删除 ~.ssh/目录下对应的socket文件

 

默认secureCRT 就是ssh连接复用的。Good.

 

反空闲
这个很好理解,某些设备在一段时间没有接收到输入以后,就会自动断开连接。

此时我们可以设置反空闲,让SecureCRT定期发送一个反空闲信号,或者最直白的,发送一个自定义键给系统。

一般情况下,此自定义键我们采用空格键。同时我们可以设定一个时间,默认是300秒,5分钟。

配置方法如下:

打开会话属性框,选择终端,终端右侧的窗口会有一个Anti-idle的配置。

 

多窗口同时输入
有时候,你需要在多个会话窗口内容输出重复的内容,或者你需要同时重启好几个设备。

对于前者,你可以选择手工一个个的粘贴配置,但是对于需要同时重启某些设备这种时间敏感型的工作,你的手再快也有时间差。

而SecureCRT就给你提供了一个相当人性化的工具,让你可以选择同时给多个窗口输入内容。

首先开启命令行窗口

点击 查看(View) -> 命令行窗口

完成以后,SecureCRT下面就出现一个横框,在框里面点击右键,选择发送命令到 - > 所有会话。

 

 平时使用时,务必清楚你要应用配置的设备范围。例如你若选择发送命令到所有会话,然后执行reboot,你心想就执行一台,可是因为这个原因,导致目前所有SecureCRT里面的会话设备都重启了,请务必小心使用。

 

乱码文件删除:

解决办法:删除inode号

  1. 首先查看文件的inode号,用命令ls -i ,使用后如下图:

找出该文件所对应的inode号,并且进行删除,使用如下命令:

 

find ./ -inum 923921 | xargs rm -rf
find ./ -inum 923921 -delete
find ./ -inum 923921 -exec rm -i {} \;
find . -maxdepth 1 -size 0 | xargs rm -rf

  1. 我使用的是find ./ -inum 923921 -delete, 如果需要交互提示,最后加一个 -i

 

-inum nFile has inode number n. It is normally easier to use the -samefile test instead.

 

 

$ find . -name 'my*'

搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

  $ find . -name 'my*' -ls

搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

  $ find . -type f -mmin -10

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。