PUTTY使用方法
更新时间:2023-10-11 10:36:01 阅读量: 综合文库 文档下载
- putty安卓推荐度:
- 相关推荐
PuTTY的所有配置都保存到了注册表,如果不记得备份注册表中的相关内容,下次重装机器所有配置就没了,而且配置也不方便用闪存盘随身携带。但是 PuTTY的配置删除还是蛮方便的,运行时指定个参数 -cleanup 就可以清除 PuTTY 的所有配置信息。 第一印象,开始登录一台远程主机 运行 PuTTY 就可以看到下面这个界面
在这里输入服务器的 IP 或主机名,选择好登录协议,还有协议的端口,如果希望把这次的输入保存起来,以后就不需要再重新输入了,就在第4步输入好会话保存的名称,比如:mail-server,或者干脆就是主机的地址,点击保存就可以了。
最后点下面的 Open 按钮,输入正确的用户名和口令,就可以登录服务器了。 首次登录一台主机时 第一次登录时,会看到这个对话框
这是要告诉你登录的主机密钥指纹,点 Yes 就保存起来,以后就不会再弹出这个窗口,然后就正常登录。点 No
不保存,下次还是要提示你,然后也可以正常登录。如果一台主机我们只是临时登录一下,当然就是点 No 了。Cancel
就是取消,也就是取消了这次登录。 如果你曾经登录过这台主机,但是又弹出来这个对话框,可能有以下
几种情形: 主机重新安装了操作系统 这台主机可能有多个IP,这次用的是另外一个 IP 有其他不怀好意的主机来冒充,诱骗我们登录,窃取隐秘信息
前两个情形很常见,一般点 Yes 就行了。后面这个嘛??唔??唔??,点 No/Cancel,再去询问相关的主机管理人员。 又看到了中文乱码 成功登录主机后,输入命令,这??这??显示,又是乱码。唉,中文乱码是一个老生常谈的问题,提起来就头大。原因嘛,不外乎字符集、终端编码之类的,还是可以解决的。
PuTTY 的默认字体和字符集并不适合中文显示, 在窗口标题上点击右键,选择 Change Settings...
在打开的配置窗口左边选择 Appearance,在右边点 Font settings 里面的 Change 按钮,选择好中文字体,比如:宋体、新宋体之类的
字体选择好了,还要确定字符集。
选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which
character set 下拉列表中选择最后一个“Use font encoding”,最后点下面的 Apply 按钮就生效了。
重新执行命令 ls -l,就可以正常看到中文了
怎么还是乱码? 如果还是乱码的话,就执行以下命令,看看系统的字符集 echo $LANG $LANGUAGE
哦,原来系统的字符集是 UTF-8 呀。重新返回上面选择字符集的那一步, 选择配置窗口左边的 Translation,在右边的Received data assumed to be in which character set 下拉列表中选择“UTF-8”
这下99%的情形下,汉字是不会有乱码了。最后,总之一下 PuTTY 中乱码的解决办法: 先看看系统的字符集,如果是 UTF-8 的,那就简单了,选择好中文字体,然后编码选择 UTF-8 就行了。 如果编码是 GB2312、GBK、GB18030,当然也包括 BIG5这些,在 PuTTY 的编码选择中看不到这些编码,那就选择最后一个“Use font encoding”,绝大部分情况下这样就没啥问题了,反正我是没碰到有什么例外的情况。 现在的 Linux 如果默认语言选择为中文,默认的编码就是 UTF-8 了。以前安装 Redhat AS 3 时,语言选择为中文,默认的编码是zh_CN.gb2312, zh_CN.gb18030,好像从 AS 3 update 6 开始,包括现在的AS4、AS5,中文的默认编码都成了 zh_CN.utf8。至于 Debian、Ubuntu 等等这些上面,好像一直都是 UTF-8。 至于是使用 UTF-8呢,还是用 GB2312、GBK 或者 GB18030呢?我个人还是倾向于 UTF-8。毕竟我们使用的大多数软件都是国外的,处理中文编码多多少少有些问题,PuTTY 自然也不例外。 下面的这个图上,我把终端编码修改为 zh_CN.utf8,然后也按照前面的所说的方法把 PuTTY 的字符集修改为 UTF-8。然后在终端中输入汉字“柴锋”,按左方向键,可以看到汉字显示很正常。
我重新把终端的编码修改为 zh_CN.gb2312,同样的,把 PuTTY 的字符集修改为最后一个“Use font encoding”。还是在终端上输入汉字“柴锋”,按下左方向键以后,会看到汉字乱码了。
至于用哪个编码,主要还是看领导的决定了,我们的领导就喜欢 GBK,连 GB18030 都不行。以前在用 Debian 的时候,好像默认都不支持GBK 编码。这几年公司的开发在汉字编码问题上出过几次麻烦,还不就是在 ISO8859-1,GB2312/GBK/GB18030和UTF-8上折腾来折腾去。 给大家看一张 emacs 的截图,看看上面的这么多语言的文字共同显示,这个会是用 GB2312/GBK/GB18030 的编码么?
用 UTF-8 也不是为了要在一个屏幕上显示好几种不认识的文字,也不一定非要是跟国际接轨弄个外包给老外开发程序做个其他语言的界面让老外用,起码不要在那么多编码里折腾了,顶多两个 ISO8859-1 和 UTF-8。发发牢骚,下面继续?? 在 PuTTY 里面怎样选中,复制和粘贴? 在 PuTTY 的窗口里面复制、粘贴可不能用 Windows 里的这些 Ctrl+C, Ctrl+Ins, Ctrl+V 这些快捷键,Ctrl+C 在控制台上可是终止当前的命令执行。 PuTTY 的选择、复制、粘贴这些操作都是通过鼠标来完成的。 在 Window-〉Selection 这里可以设置复制和粘贴的方式。
默认的 Action of mouse buttons (鼠标按键的功能)的选项是Compromise,这种方式下选中有两种方式,一是直接用鼠标左键拖拉选中就可以了,二是用鼠标中键单击选中区域的开头,用滚动条拖拉到期望选中区域的末尾,再用鼠标中键单击,就可以选中了。 选中以后,单击鼠标左键就把选中部分复制到剪贴板了。粘贴也很简单,单击鼠标右键。 Action of mouse buttons 的第一个选项是 Windows (Windows 方式的),鼠标中键的操作跟前面提到的一样。右键不是粘贴了,而是打开了右键菜单。
其实这个右键菜单在标题栏上点击,也都可以看得到。
第三个选项是 xterm (xterm 方式),这个跟默认的 Compromise 方式相反的,中键和右键的操作调换了一下,就不多说了。下面那个 Shift overrides application's use of mouse 是和 Shift 键有关的。有些 Rogue Like 的程序,比如 mc、links、Lynx、VIM等等,都支持鼠标操作,想在用鼠标在上面选择或粘贴就不行了。这个选项默认是选中的,在支持鼠标操作的 Rogue Like 界面下,按住Shift 键,就可以像前面的那样用鼠
标来选择、复制、粘贴了。 看下面的这个图片,用 Links 打开了 Google 的首页,用鼠标去选中 顶部中间的 Google,我们会发现,弹出了保存的对话框。
按住 Shift 键重新操作一次,哈哈,这次选中了。
在 Control use of mouse 里面还有个 Default selection mode (默认的选择模式),默认是 Normal,就像文字处理工具里这样的选择
另外一个是 Rectangular block(块选择方式),至于用哪种方式就看自己的选择了。
实时保存会话 这次更改配置参数了,关闭窗口后,下次使用还是要重新选择的,麻烦。 还是回到上面修改配置的哪个地方,选择左边的 Session,在右边选择要覆盖的会话名称,或者重新输入一个新的名称,点击 Save 按钮保存。
关于注销登录的一些事情 成功登录主机后,也能正常看到中文了。这样,我们就可以完成大部分的工作。最后要关闭窗口了,该怎么办呢?我见过很多人,包括我们公司负责专职维护的同事,都是直接点击窗口上的关闭按钮,完全没有理会弹出警告窗口,直接点击了 Yes。
这样做是不对的,首先这不是正确的注销方式,应该输入命令 exit 来正常注销;
其次直接关闭窗口后,你的登录其实还在服务器上,如果一连多次的这样强制关闭窗口,用命令 w 或者 who命令查看时,可以看到很多的用户还在系统上登录,占用了系统的资源。最重要的是,你的这次登录可能只是为了启动一下 WebLogic或者其他什么应用服务器,直接关闭窗口后,可能会导致你的业务在随后的几分钟内也被终止,这应该不是你所希望看到的吧。 如果上述的理由是每次要输入 exit 然后回车,比较麻烦。你可以用快捷键 Ctrl+d 来注销登录,一般情况下,快捷键一按窗口都直接关闭了,还省了两次鼠
标点击。 在前面说道保存会话时,大家或许也注意到,下面有个 Close window on exit 有三个选项: Always (不管怎样,窗口总是要关闭的) Never (无论是否有程序还在运行,都不要关闭窗口) Only on clear exit (这个是默认选中的,只有在本次登录中运行的程序都正常终止或者在后台运行,窗口才关闭)
有的程序在执行时,虽然在命令最后面加上 “&”就能放到后台运行。但是正常注销登录后,窗口没有被自动关闭,还能看到程序的输出,这时强制关闭窗口还是可以的。为了避免这种情形,可以使用 nohup 命令。 用法嘛就是: nohup 命令 命令参数,这样就可以了。 窗口保存的输出有点少,前面的都看不到了 执行了一个命令,输出了好多东西,但是默认的配置下,PuTTY只保存了最后200行的内容,满足不了我们的需求。 还是在标题栏上点右键选择 Change settings...,在配置窗口的左边选择 Window,修改右边的 Lines of scrollback,改大点,比如 20000、80000的
在上面的 Set the size of the window 里设置的是窗口显示的行数和列数,默认是 24 行、80 列,根据自己的需要来修改吧。 When window is resized 这个选项配置的是,当窗口大小发生改变时该采取什么动作。 Change the number of rows and columns(这个是默认的,改变窗口大小时,自动修改行数和列数) Change the size of the font(这个是根据窗口的大小来修改字体的大小,窗口最大化的时候,字都是很大的) Change font size only when maximised(只有在窗口最大化的时候才改变字体大小) Forbid resizing completely(完全禁止改变窗口大小,一了百了) 在现代的 Unix/Linux 主机上,默认选项已经不存在任何问题了。如果是 Solaris 8 这样的老式 Unix 上最好用第2或第4个选项。 第3个选项嘛,要求你的屏幕不是宽屏的,选中这个选项以后,大家可以先把窗口往窄的缩一下,然后最大化窗口,哈哈,满足一下不是宽屏的虚荣心。 顺便说一下,在 PuTTY 中的前后翻页,与 Linux 终端一样,用 Shift+PageUp/PageDown 来上下翻页,而 Ctrl+PageUp/PageDown 则是一行一行的。 新建一个会话时,还有些东西再啰嗦一下 前面把如何用 PuTTY 登录一台主机到注销的过程聊了一遍,但是在新建会话时还是有些东西需要再啰嗦一下的。 保持连接,不要自动断开 在 Connection 里面有个 Seconds between keepaliaves,这里就是每间隔指定的秒数,就给服务器发送一个空的数据包,来保持连接。以免登录的主机那边在长时间没接到数据后,会自动断开 SSH 的连接。 默认输入 0 是禁用保持连接,在这里我习惯的设置了 10。 下面的那两个复选框都保持默认选中吧。
自动登录用户
在 Connection-〉Data 里面有个 Auto-login username,可以指定默认的登录用户。如果每次登录主机都是用同一个用户,不妨在这里设置一下。SSH、Telnet、Rlogin这三种协议都支持,但不是所有的 Telnet 服务器支持自动登录用户
looking controls in the client area. -->
name=\ publicKeyToken=\ processorArchitecture=\ PUTTYGEN.exe.manifest version=\ language=\ 把下面的内容复制到记事本中,文件名保存为:
See 20020104174954.A12067@imsa.edu. -->
type=\ name=\ version=\processorArchitecture=\ looking controls in the client area. --> name=\ publicKeyToken=\
version=\ language=\
processorArchitecture=\ 屏幕输出太快了,怎么能暂停一下? Ctrl+S 快捷键可以暂停终端,Ctrl+Q 恢复。 怎么翻页? Shift+PageUp/PageDown 一页一页的翻,Ctrl+PageUp/PageDown 则是一行一行的。 不是说 PSCP 一次只能传输一个文件么?为什么我发现能传输很多个? 那是因为 PSCP 发现 SFTP 协议可用,优先使用 SFTP 协议来传输文件 为什么执行了 pscp、psftp、plink 这些命令总是说错误的命令呢? 应该把 PuTTY 所在的路径添加到 PATH 环境变量中。你可以编辑 c:autoexec.bat 这个文件,在最后增加一行,把 c:pathtoputty 换成你的真实路径 set PATH=c:pathtoputty;%PATH% 在登录的时候出现 \的错误提示这 是因为配置的代理服务器需要认证,而我们没有填写正确的用户名或口令。如果用户名填写的是类似 DOMAIN/username 的形式,可以尝试把DOMAIN/ 去掉,仅仅填写 username 再试一试,还有一种可能性就是代理服务器禁止我们访问 22 目标端口。每次开机后我都要先打开 Pagent,然后再添加我的私钥,还要输入私钥密码,太麻烦了,有没有简单一点的办法呢?很遗憾,比较轻松的办法就是把 Pagent 和 .ppk 文件关联,然后在开始的启动项里添加一个私钥的快捷方式,这样开机后我们只需要输入一下密码就OK了。如果想把输入密码也省掉,唉唉唉,怎么比我还懒呢?
如果你的私钥密码真的是很长很长,那你还是借助第三方工具吧,建议用 KeePass 吧,KeePass 可以用命令行启动省掉输入密码和选择 keyfile 的麻烦。
我们的公钥,我们就随时用匹配的私钥都可以登录了。配合后面提到的Pagent,我们连输入密钥口令这一步也可以忽略过去。 登录成功了,别忘了按 Ctrl+d 注销哦。
以后这些步骤就不需要再重复了,只需要打开 PuTTY 后,双击一下保存的会话名称,输入密钥口令。 Pagent 加载密钥,每次开机后只需要输入一次密钥口令 终于轮到 Pagent 出场了,双击一下 Pagent.exe,嗯,没反应?再双击一下,咦?出来个提示,说已经运行了。
看看右下角吧,在这里呢
双击一下 Pagent 的图标,出来这样一个界面。很简洁的,Add Key 是添加私钥,Remove Key 是把选中的私钥从 Pagent 中卸载了。
好,现在单击 Add Key 按钮添加私钥,我把这个演示用的私钥保存到 C: 了
然后会出现输入密钥口令的对话框,输入正确的密钥后,单击 OK
这时,在 Pagent 的窗口中就能看到我们的私钥已经装载上去了。
现在打开 PuTTY,选择先前保存的 Session,双击一下。只要自动登录用户名设置上,主机上改帐户的 authorized_keys 文件里也有匹配的公钥。哈哈,发现没有?完全不需要口令,我们已经登录到系统了。 在 Pagent 的图标上点右键,也可以快捷的选择已经保存的会话。
建议大家把 Pagent 放到启动组里面,这样每次一开机,Pagent自动运行,然后我们只需要把私钥装载一下,然后我们就可以一直享受自动登录系统的乐趣了。再配合上以后会讲到的 Plink、PSCP这些,我们可以实现很多工作的自动化进行。完全不需要每次输入用户名、口令、输入又长又多的命令,再做一些烦躁的文件备份,最后还得记得注销系统,难道不觉得麻烦么?这一切烦恼很快就会远离我们了,继续往下看吧。 用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。PSFTP 则是 SSH-2 中新增的特性,使用的是新的 SFTP 协议,使用上与传统的 FTP 类似。事实上 PSCP 如果发现 SFTP可用,PSCP就会使用 SFTP 协议来传输文件,否则还是 SCP 协议。PSFTP 与 PSCP 相比,PSFTP的优点是可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。而 PSCP只能一次传输一个文件,传输完毕后立刻终止会话。 PSCP 的使用 在控制台直接执行 pscp 可以看到帮助 C:>pscp PuTTY Secure Copy client Release 0.58 Usage: pscp [options] [user@]host:source target pscp [options] source [source...] [user@]host:target pscp [options] -ls [user@]host:filespec Options: -V print version information and exit -pgpfp print PGP key
fingerprints and exit -p preserve file attributes -q quiet, don't show statistics -r copy directories recursively -v show verbose messages -load sessname Load settings from saved session -P port connect to specified port -l user connect with specified username -pw passw login with specified password -1 -2 force use of particular SSH protocol version -4 -6 force use of IPv4 or IPv6 -C enable compression -i key private key file for authentication -batch disable all interactive prompts -unsafe allow server-side wildcards (DANGEROUS) -sftp force use of SFTP
protocol -scp force use of SCP protocol C:> 可以看出 PSCP 的使用是很简单的,把常用的几个选项说一下: -q 安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的 -P port 指定服务器的 SSH 端口,注意这个是大写字母 P,默认是 -P 22,如果主机的 SSH 端口就是 22,就不用指定了 -l user 指定以哪个用户的身份登录主机,如果没有指定,则 PSCP 会在 PuTTY 保存的同名 Session 中获得默认的用户名称。用户名称也可以和主机名称写在一起,用 @ 分割开,比如:username@server -pw passwd 指定登录时所用的口令为 passwd -i keyfile 就是指定登录时所用的密钥文件 最后面指定的主机名也可以是 PuTTY 中保存的 Session 名称。比如我们在 PuTTY 中保存了一个名为 foobarserver的会话,而我们所在的网络又的确没有名为 foobarserver 的主机名称。而在这
个 foobarserver 会话中保存的主机名称是demo-server,保存的自动登录的用户是 taylor。那么用命令 pscp c:autoexec.bat foobarserver:backup/ 就把本地的 c:autoexec.bat 复制到了主机 demo-server 上的用户 taylor 所在的主目录下的 backup 子目录中(这个路径可能是 /home/taylor/backup 所以 PSCP 大致用法的例子就是: pscp -P 22 -i c:pathyour-private-key.ppk -C username@server:/remote/path/ 下面还是用一些实例来说明会比较简单一些: 把本地的 C:pathfoo.txt 复制到远程主机 192.168.6.200 的 /tmp 目录下 pscp c:pathfoo.txt 192.168.6.200:/tmp 把本地的 C:pathfoo.txt 复制到主机 192.168.6.200 的 /tmp 目录下,但是以主机上的用户 taylor 的权限执行 pscp c:pathfoo.txt taylor@192.168.6.200:/tmp 或者是 pscp -l taylor c:pathfoo.txt 192.168.6.200:/tmp 把本地的 C:pathfoo.txt 传送到主机 192.168.6.200 的 /tmp 目录下,但是主机的 SSH 端口是 3122 pscp -P 3122 c:pathfoo.txt 192.168.6.200:/tmp 把本地的 C:pathfoo.txt 复制到主机 192.168.6.200 的用户 taylor 的主目录下 pscp c:pathfoo.txt taylor@192.168.6.200:. 把主机 192.168.6.200 上的用户 taylor 主目录下的所有 *.tgz 文件拷贝到本地的 c:backup 目录中,如果 SSH 版本是 SSH v1,那这个命令就会出错。 pscp taylor@192.168.6.200:*.tgz c:backup 再来看看 PSFTP 在控制台执行命令 psftp -h,可以得到 psftp 的帮助 C:>psftp -h PuTTY Secure File Transfer (SFTP) client Release 0.58 Usage: psftp [options] [user@]host Options: -V print version information and exit -pgpfp print PGP key fingerprints and exit -b file use specified batchfile
-bc output batchfile commands -be don't stop batchfile processing if errors -v show verbose messages -load sessname Load settings from saved session -l user connect with specified username -P port connect to specified port -pw passw login with specified password -1 -2 force use of particular SSH protocol version -4 -6 force use of IPv4 or IPv6 -C enable compression -i key private key file for authentication -batch disable all interactive prompts C:> 用法与 PSCP 大同小异,虽然有个 -load 选项,其实这个没啥用,后面用主机名的时候,与 PSCP 一样直接用上会话名称就可以了。 用 PSFTP 登录到服务器上以后,操作与 FTP 差不多,这里简单的说一下吧: open
登录主机 open [username@] [port] 比如: open taylor@demo-server 3022 就是以用户 taylor 的身份,登陆到主机 demo-server 上,SSH 端口是 3022 open demo-server 登陆 demo-server,这里的 demo-server 可以是PuTTY 中已经保存的会话名称,也可以是主机的名称,如果主机名称与会话名称相同,以会话名称为准。
close 关闭 SFTP 连接 这个没啥说的,close 就关闭了 SFTP 连接 quit 结束本次的 SFTP 会话 也没啥用法,就是关闭了 PSFTP 这个程序
help [command] 帮助 直接打 help 就可以看到帮助指令,后面指定上 一个命令就可以查看该命令的帮助,比如: help open cd [directory] 改变当前目录 pwd 察看当前目录
lcd [directory] 改变本地目录
lpwd 察看本地当前目录
get [-r] 从服务器下载一个文件/目录,这个命令不能用通配符,参数 -r 可以递归下载整个目录 put [-r] [dest] 把文件/目录上传到服务器,这个命令不能用通配符,参数 -r 可以递归上传整个目录
mget [-r] 从服务器下载一批文件/目录,可以用通配符,-r 的含义与 get 一样
mget [-r] [dest] 把一批文件/目录上传到服务器,可以用通配符,-r 的含义与 put 一样
reget [-r] 从服务器续传下载一个文件/目录,这个命令不能用通配符,-r 的含义与 get 一样 reput [-r] [dest] 把一批文件/目录续传上传到服务器,这个命令不能用通配符,-r 的含义与 put 一样 dir [directory] 列目录
ls 和 dir 一样
chmod [file|directory] 改变文件的权限,与 Unix 的 chmod 命令类似 del 删除文件,要注意的是 del 只能删除文件 rm 与 del 一样 mkdir 创建一个目录
rmdir 删除一个空目录,只有空目录才可以被删除
mv 改名/移动。如果源和目的都是文件或目录,则是改名。如果目的是目录的话,则是移动。 ! 在本地命令前加一个感叹号,就可以直接执行
其他可选的 SFTP 客户端 FileZilla : http://filezilla.sf.net WinSCP : http://www.winscp.net 用 Plink 更方便快捷的执行远程主机上的命令 Plink 是 PuTTY 的命令行连接工具,主要用于自动化工作的处理。 直接在控制台执行 plink,可以看到 Plink 的帮助 C:>plink PuTTY Link: command-line connection utility Release 0.58 Usage: plink [options] [user@]host [command] (\name) Options: -V print version information and exit -pgpfp print PGP key fingerprints and exit -v show verbose messages -load sessname Load settings from saved session -ssh -telnet -rlogin -raw force use of a particular protocol -P port connect to specified port -l user connect with specified username -batch disable all interactive prompts The following options only apply to SSH connections: -pw passw login with specified password -D [listen-IP:]listen-port Dynamic SOCKS-based port forwarding -L [listen-IP:]listen-port:host:port Forward local port to remote
address -R [listen-IP:]listen-port:host:port Forward remote port to local address -X -x enable / disable X11 forwarding -A -a enable / disable agent forwarding -t -T enable / disable pty allocation -1 -2 force use of particular protocol version -4 -6 force use of IPv4 or IPv6 -C enable compression -i key private key file for authentication -m file read remote command(s) from file -s remote command is an SSH subsystem (SSH-2 only) -N don't start a shell/command (SSH-2 only) C:> 看上去 Plink 的使用方法、参数与PSCP、PSFTP都很类似。 -P port 指定服务器的 SSH 端口,注意这个是大写字母 P,默认是 -P 22,如果主机的 SSH 端口就是 22,就不用指定了 -l user 指定以哪个用户的身份登录主机,如果没有指定,则 PSCP 会在 PuTTY 保存的同名 Session 中获得默认的用户名称。用户名称也可以和主机名称写在一起,用 @ 分割开,比如:username@server -pw passwd 指定登录时所用的口令为 passwd -i keyfile 就是指定登录时所用的密钥文件 -m file 如果执行的命令很多的话,可以把命令写到文件中,然后用这个参数来指定 还是用一些实际的例子来说明一下 Plink 吧 还记得前面说到 PuTTY 的自动执行命令那个配置么?在说到那个配置的时候,我们演示了一个简单的 Tomcat 重新启动的命令,这个命令是要写在 PuTTY 的 Remote command 里面去。现在我们用 Plink 来实现同样的功能: 假设连接的主机是 192.168.6.200,SSH 的端口是 3022,用户是 taylor: plink -P 3022 taylor@192.168.6.200 export
CATALINA_HOME=\
JAVA_HOME=\$CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail -f
$CATALINA_HOME/logs/catalina.out 如果在 PuTTY 中保存了一个名为 192.168.6.200 的会话,注意,这个会话的名称与主机 IP 一样,在会话中已经正确保存了端口 3022,指定了默认的用户是 taylor,现在这个命令就可以简化为: plink
192.168.6.200 export CATALINA_HOME=\
JAVA_HOME=\$CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail -f
$CATALINA_HOME/logs/catalina.out 用 date 命令查看一下主机上的时间,并且格式化输出: plink 192.168.6.200 date \ 大家实际执行一下命令看看,会发现,这个命令并没有返回我们期望的结果,而是返回了一个错误: C:>plink 192.168.6.200 date \%T\date: too many non-option arguments: %T Try `date --help' for more information. 可是在服务器上直接执行命令 date \,的确是正确无误的,哪里出了问题呢?这是因为Windows的控制台会把两个双引号之间的字符串作为一个参数传递给被执行的程序,而不会把双引号也传递给程序。我们做这样一个小小的实验来说明一下这个问题: 比如在 c:tmp 文件夹里建立三个文件夹,名称分别为:\、\、\。然后在 foo
这个文件夹里面建立一个名为“foo.log”的空文件,在“bar”这个文件夹里建立一个名为“bar.log”的空文件,在“foo
bar”这个文件夹里建立一个名为“foo-bar.log”的空文件。 然后在控制台下进入 c:tmp 这个文件夹,执行如下命令: dir foo bar 结果是列出“foo bar”这个文件夹里的内容,还是分别列出“foo”和“bar”文件夹里的东西呢?正确答案是后者。 要想正确列出“foo bar”文件夹里的东西,就需要用双引号把\bar\引起来 C:tmp>dir foo bar Volume in drive C is System Volume Serial Number is 9C51-A51C Directory of
C:tmpfoo 2006-11-22 09:48 . 2006-11-22 09:48 .. 2006-11-16 11:58 0 foo.log 1 File(s) 0 bytes Directory of C:tmpbar 2006-11-22
09:48 . 2006-11-22 09:48 .. 2006-11-16 11:58 0 bar.log 1 File(s) 0 bytes 2 Dir(s) 1,107,345,408 bytes free C:tmp>dir \bar\ Volume in drive C is System Volume Serial Number is 9C51-A51C Directory of C:tmpfoo bar 2006-11-22 09:48 . 2006-11-22 09:48 .. 2006-11-16 11:58 0 foo-bar.log 1 File(s) 0 bytes 2 Dir(s) 1,107,345,408 bytes free C:tmp> 说
到这里,就会明白上面的那个命令 plink 192.168.6.200 date \其实在主机上执行的真实命令是 date +%F %T,而不是命令行中指定的 date \。不过还好,Windows
的控制台可不认得单引号,所以上面那个命令的正确用法应该是: c:>plink 192.168.6.200 date '+%F %T' 2006-11-22 09:39:57 我经常需要登录到服务器上把 ADSL 重新拨号,可以把下面的命令写到一个文本文件中,比如保存到了 C:adsl-restart.command.txt echo \echo \然后执行如下命令: plink -m c:adsl-restart.command.txt root@192.168.6.251 我经常要查看 Tomcat 的运行日志 plink taylor@192.168.6.200 tail -f ~/apache-tomcat-5.5.17/logs/catalina.out 每天都要看服务器上的剩余空间,就用这个命令: plink taylor@192.168.6.200 df -k 假
设 www.chaifeng.com 连接着另外一个网段 10.204.26.0,有台内网IP 为 10.204.26.21 的
Solaris 8主机只能用 telnet 登录,为了防止被监听,我们可以用 Plink 建立一个隧道,隧道开放 120 秒钟,如果隧道没有被使用,就自动断开连接,然后我们在本地就可以用命令 telnet localhost 2623 的安全登录那台
Solaris 8 主机了。 plink -L 2623:10.204.26.21:23 www.chaifeng.com sleep 120
在主机 www.chaifeng.com 上正在运行着 tor,默认的监听地址是 127.0.0.1:9050,用 Plink
建立一个隧道,然后浏览器上配置代理服务器为 127.0.0.1,端口是 9050,这样就能够安全的使用 tor 代理了,不用担心从我们的机器到主机 www.chaifeng.com 有被监听的可能了。 plink -C -N -L 9050:127.0.0.1:9050 taylor@www.chaifeng.com 结合上 PSCP 我们还可以完成文件的每天备份 plink taylor@192.168.6.200 tar jcf $(date '+documents.%F.tar.bz2') ~/documents pscp taylor@192.168.6.200:$(date '+documents.%F.tar.bz2') c:backup plink taylor@192.168.6.200 rm -f $(date '+documents.%F.tar.bz2')
如果把这些常用的操作写成批处理文件,到时候要重启一下 Tomcat,或者马上察看一下 Tomcat 日志,再
或者只是要把 ADLS重新拨号以下,只需要用鼠标一双击这个批处理文件,稍等一下就自动完成了。不比你打开PuTTY,登录到服务器上,然后再一个一个的执行命令,最后还得注销来的方便快捷么?再懒一些,把自动备份的批处理放到计划任务里面,每天定时完成,哈哈,有时间上网找些好玩的东西了,不用每天忙于这些繁杂重复的命令中了。 用假象去迷惑敌人 如果我说 Google 的服务器也开放了 SSH,但是只有特定的 IP 可以连接上去,不信么?(声明:下面的图片都未经修改,我以 Google 的名义发誓,绝对没有 PS)
知道是怎么回事么? Tips(小技巧) 安全、方便的使用 VNC,远程连接 VNC 不需要密码有 关 VNC 的主题按理说不应该写在这里,可是通过一点小小的技巧,可以让我们安全、方便的使用 VNC。我们多数情况下用 Windows 远程登录Linux 桌面的方法不外乎 X11 forwarding 和 VNC,有关 X11 转发的内容参照前面的部分,还有关于 X11 转发和VNC 哪个方便,这里就不再啰嗦说这些了,自己试一试就知道了。在远程机器上启动 vnc服务的方法很简单,直接使用命令 vncserver 了。如果是第一次使用这个命令,还会提示输入一个口令。注意了,这个口令是用来远程连接 VNC服务端用的,不是登录口令,着两个口令可不一样。如果想修改 vnc 的连接口令,使用命令 vncpasswd 就可以搞定,用法和 passwd一样。哎哎,等等。标题上不是写的“远程连接 VNC不需要密码”么?为什么这里还是需要连接密码?不要着急,慢慢听我讲。前面说的方法就是最常用的方法了,既然连接 VNC的时候需要密码,那就带来一个老问题。密码太简单了,容易被暴力破解掉。密码太复杂了,人脑毕竟不是电脑,记不住。但是呢,为了安全,密码还是要设置的长一点,我们可以使用一些其他工具帮助我们管理这些又臭又长的密码,比如 KeePass。现在要说的是,我们可以把 VNC 的连接密码设置的好长好复杂,而且我们不用记,连接 VNC 的时候还不需要口令,不用担心暴力破解等等。
我们需要做如下四步操作:一、在本地机器上,用参数 /listen 来启动 vncviewer,这个参数对于 RealVNC、TightVNC、UltraVNC的客户端都一样。也就是要把 VNC 客户端启动在监听模式下,我们要让 VNC 服务器主动连接我们,这样我们就不需要 VNC 的连接口令了。vncviewer /listen二、创建一个 PuTTY 的反向隧道,源端口 5500,目标 localhost:5500,具体操作看前面的部分,别忘记点“Add”按钮哦。这个 5500 端口就是 vncviewer 的默认监听端口。
三、在远程服务器上用命令 vncserver 启动 VNC 服务,如果前面已经启动 VNC 服务了,就忽略这一步。四、关键命令哦,在远程服务器上执行命令vncconfig -display :1 -connect localhost说一下两个个关键参数,一个是 display 后面的 :1 ,这是连接到第一个 vnc 实例上。另一个就是 connect 参数后面的localhost,既然我们是在远程机器上输入的这个命令,那很显然,连接的就是远程机器。别忘了,我们在此之前设置了反向的 SSH隧道,连接远程机器的本地 5500 端口,其实连接的就是我们自己机器的 5500 端口。哈,然后你就会发现什么密码也不用输入,就直接连接上远程的 VNC 服务了。不过呢,这四步操作确实有些麻烦,懒人的第一要旨就是能有多懒就要多懒。
第一步操作我们可以在 Windows 的启动菜单你里放一个 vncviewer 的快捷方式,别忘了 /listen 参数。 第二步操作可以直接保存到 PuTTY 的会话里面,参考前面的内容。
第三步就没啥子好说的,只要机器没有重启过,这个 VNC 服务就一直能用。
第四步的这个命令,我们可以在 PuTTY 的 Connection->SSH 的选项里的 “Remote command” 里填写上“vncconfig -display :1 -connect localost” ,然后同样也是保存到 PuTTY的会话里。以后只要双击一下那个 PuTTY 的会话,我们的 VNC 窗口就会自动打开。
第二步和第四步操作也可以用一个命令来代替,如下:plink.exe -R 5500:localhost:5500 guantouping \-display :1 -connect localhost\命令参数中的那个 “guantouping” 是 PuTTY 保存的会话名,也可以是远程机器主机名,把这个命令做成一个快捷方式,双击直接打开 VNC。 FAQ(常见问题) 我在 PuTTY 官方网站下载的,可是执行 PuTTY、Pagent、PuTTYgen 时总是出错,而命令行执行的这几个却没问题 这种情形我也碰到过,一个解决的办法就是去下载最新版,或许你碰巧下载的是旧版本。另外一个解决办法就是,创建三个扩展名为 .manifest 的文本文件,然后把这三个文件复制到 PuTTY 的目录中,文件内容分别如下: 把下面的内容复制到记事本中,文件名保存为:PAGEANT.exe.manifest See 20020104174954.A12067@imsa.edu. --> type=\ name=\ version=\processorArchitecture=\ looking controls
in the client area. --> name=\ version=\ publicKeyToken=\ language=\
processorArchitecture=\ 把下面的内容复制到记事本中,文件名保存为:
PUTTY.exe.manifest See 20020104174954.A12067@imsa.edu. --> type=\ name=\ version=\processorArchitecture=\
正在阅读:
PUTTY使用方法10-11
湖北省2011届高三历史复习测试:中国古代史(3)08-19
律师事务所投标书07-10
计算机基础复习题(1)11-25
51单片机和DA的数控音频功率放大器论文04-02
雪中行车之五大秘籍03-14
2017版生物三年高考两年模拟:专题(2)细胞的结构和功能(含答案04-10
主持人大赛主持稿10-13
振动污染12-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 使用方法
- PUTTY
- 2010-2011下学期语言学复习1-12章2
- 园林绿化养护合同(标准版)
- 龙江县景星镇中初中地理会考复习资料 七年级下册2
- 激光自动弯沉仪和落锤式弯沉仪优缺点比较
- 注税备考—财务与会计考试测验模拟试题03
- 桩基课件讲稿
- 2012电子班电工基础期末试题及答案
- 工程数学复习题
- 区域卫生综合管理“三化”
- 聊城市金属结构厂名录2018版175家 - 图文
- 三分钟五年级英语演讲稿材料学习范文带翻译
- 脑电图操作规范
- 微型计算机原理作业第二章 习题与思考题
- 2015预归类考试模拟考试七及答案(其他类)
- 地质遥感文献综述
- 中国银监会关于印发《商业银行稳健薪酬监管指引》的通知-银监发〔2010〕14号
- 河北省南宫中学2015-2016学年高二上学期第一次月考数学(文)试卷
- 10kV真空断路器常见故障分析及处理技术
- 2018年四川省农村信用社招聘(公共基础知识-客户经理岗)真题精选及答案解析
- 万载外国语学校班子成员及处室工作人员选聘方案