外设堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5403|回复: 4

[经验] PuTTY入门及使用

[复制链接]
发表于 2017-3-26 23:42 | 显示全部楼层 |阅读模式
PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件,日常使用非常方便,搭配winscp可以很好的进行路由及网络修改及配置。


运行 PuTTY 就可以看到下面这个界面
1.jpg
在这里输入服务器的 IP 或主机名,选择好登录协议,还有协议的端口,如果希望把这次的输入保存起来,以后就不需要再重新输入了,就在第4步输入好会话保存的名称,比如:mail-server,或者干脆就是主机的地址,点击保存就可以了。
2.jpg

最后点下面的 Open 按钮,输入正确的用户名和口令,就可以登录服务器了。
首次登录一台主机时第一次登录时,会看到这个对话框

3.jpg
这是要告诉你登录的主机密钥指纹,点 Yes 就保存起来,以后就不会再弹出这个窗口,然后就正常登录。点 No 不保存,下次还是要提示你,然后也可以正常登录。如果一台主机我们只是临时登录一下,当然就是点 No 了。Cancel 就是取消,也就是取消了这次登录。
如果你曾经登录过这台主机,但是又弹出来这个对话框,可能有以下几种情形:
1 主机重新安装了操作系统
2这台主机可能有多个IP,这次用的是另外一个 IP
3 有其他不怀好意的主机来冒充,诱骗我们登录,窃取隐秘信息
前两个情形很常见,一般点 Yes 就行了。
又看到了中文乱码
成功登录主机后,输入命令,又是乱码。中文乱码是一个老生常谈的问题,提起来就头大。原因嘛,不外乎字符集、终端编码之类的,还是可以解决的。
4.jpg

PuTTY 的默认字体和字符集并不适合中文显示, 在窗口标题上点击右键,选择 Change Settings...
5.jpg

在打开的配置窗口左边选择 Appearance,在右边点 Font settings 里面的 Change 按钮,选择好中文字体,比如:宋体、新宋体之类的
6.jpg

字体选择好了,还要确定字符集。
选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择最后一个“Use font encoding”,最后点下面的 Apply 按钮就生效了。

7.jpg

重新执行命令 ls -l,就可以正常看到中文了
8.jpg
如果还是乱码的话,就执行以下命令,看看系统的字符集
echo $LANG $LANGUAGE

9.jpg
如果系统
字符集是 UTF-8 ,重新返回上面选择字符集的那一步, 选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择UTF-8
10.jpg
这下99%的情形下,汉字是不会有乱码了。
在 PuTTY 里面怎样选中,复制和粘贴?
PuTTY 的窗口里面复制、粘贴可不能用 Windows 里的这些 Ctrl+C, Ctrl+Ins, Ctrl+V 这些快捷键,Ctrl+C 在控制台上可是终止当前的命令执行。
PuTTY
的选择、复制、粘贴这些操作都是通过鼠标来完成的。
Window-Selection 这里可以设置复制和粘贴的方式。

11.jpg

默认的 Action of mouse buttons (鼠标按键的功能)的选项是 Compromise,这种方式下选中有两种方式,一是直接用鼠标左键拖拉选中就可以了,二是用鼠标中键单击选中区域的开头,用滚动条拖拉到期望选中区域的末尾,再用鼠标中键单击,就可以选中了。
选中以后,单击鼠标左键就把选中部分复制到剪贴板了。粘贴也很简单,单击鼠标右键。
Action of mouse buttons 的第一个选项是 Windows (Windows 方式的),鼠标中键的操作跟前面提到的一样。右键不是粘贴了,而是打开了右键菜单。

12.jpg

其实这个右键菜单在标题栏上点击,也都可以看得到。
13.jpg
第三个选项是 xterm (xterm 方式),这个跟默认的 Compromise 方式相反的,中键和右键的操作调换了一下,就不多说了。
下面那个 Shift overrides application's use of mouse 是和 Shift 键有关的。有些 Rogue Like 的程序,比如 mc、links、Lynx、VIM 等等,都支持鼠标操作,想在用鼠标在上面选择或粘贴就不行了。这个选项默认是选中的,在支持鼠标操作的 Rogue Like 界面下,按住 Shift 键,就可以像前面的那样用鼠标来选择、复制、粘贴了。
看下面的这个图片,用 Links 打开了 Google 的首页,用鼠标去选中 顶部中间的 Google,我们会发现,弹出了保存的对话框。

14.jpg

按住 Shift 键重新操作一次,哈哈,这次选中了


15.jpg
在 Control use of mouse 里面还有个 Default selection mode (默认的选择模式),默认是 Normal,就像文字处理工具里这样的选择
16.jpg
另外一个是 Rectangular block(块选择方式),至于用哪种方式就看自己的选择了。
17.jpg
实时保存会话
这次更改配置参数了,关闭窗口后,下次使用还是要重新选择的,麻烦。
还是回到上面修改配置的哪个地方,选择左边的 Session,在右边选择要覆盖的会话名称,或者重新输入一个新的名称,点击 Save 按钮保存。

18.jpg



窗口保存的输出有点少,前面的都看不到了怎么办?


执行了一个命令,输出了好多东西,但是默认的配置下,PuTTY只保存了最后200行的内容,满足不了我们的需求。
还是在标题栏上点右键选择 Change settings...,在配置窗口的左边选择 Window,修改右边的 Lines of scrollback,改大点,比如 20000、80000的

19.jpg

在上面的 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 则是一行一行的。

保持连接状态

在 Connection 里面有个 Seconds between keepaliaves,这里就是每间隔指定的秒数,就给服务器发送一个空的数据包,来保持连接。以免登录的主机那边在长时间没接到数据后,会自动断开 SSH 的连接。默认输入 0 是禁用保持连接,在这里可以自己设置数字。下面的那两个复选框都保持默认选中吧。
20.jpg
自动登录用户

在 Connection-〉Data 里面有个 Auto-login username,可以指定默认的登录用户。如果每次登录主机都是用同一个用户,不妨在这里设置一下。SSH、Telnet、Rlogin 这三种协议都支持,但不是所有的 Telnet 服务器支持自动登录用户。
21.jpg

自动设置环境变量

还是前面的那个界面,下面有个 Environment variables,在 Variable 输入环境变量的名称,Value里设置上环境变量的值,登录主机后就会自动设置上,但是这个不一定能用,有些主机为了安全,可能会禁用这个特性,一旦登录就会收到这样一个错误提示:Server refused to set environment variables

设置代理服务器

这个经常用到,设置方法大同小异,注意选择好 Proxy type(代理服务器的类型)就可以了。代理服务器的地址填写到 Proxy hostname 这里,Port 就是代理服务的端口(HTTP代理常用端口有 3128、8080,Socks5代理常用端口有 1080)Exclude Hosts/IPs 这里是填写排除的主机地址和IP,有些地址不需要代理,就在这里填写。有些代理需要认证,用户名填写到 Username,密码则填写到下面的 Password。
22.jpg

自动执行一个命令
在 Connection-〉SSH 里有个 Remote command,在这里面填写上远程服务器上的某个命令,比如:df,登录后就会自动执行。我们在 Unix 上用 ssh 登录主机时用的命令 ssh,在 ssh 的最后面加上远程主机上的命令,就跟这个一样。
一旦设置上这个选项,你会发现在登录成功后,窗口一下就关闭了,什么也没看见。因为命令执行完毕的同时,本次 SSH 登录连接也随之关闭。
23.jpg
你可以把远程自动执行的命令修改成 sleep 10,然后重新登录,再看看效果。
登录成功后,没有出现命令提示符,10秒钟后,窗口自动关闭。这也验证了刚才我说的,命令执行完毕后,SSH 连接自动断开。如果每次登录主机,都是要重新启动一下 tomcat,那这里就可以填写上这样的命令:
export CATALINA_HOME="~/apache-tomcat-5.5.17";export JAVA_HOME="~/jdk1.5.0_07";export PATH=$JAVA_HOME/bin;$PATH ; cd $CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail -f $CATALINA_HOME/logs/catalina.out
(上面的命令是一行的哦)
先自动设置一下环境变量(前面有提到,服务器可能会禁用自动设置环境变量,为了保险起见,在这里设置了一下),然后进入 tomcat 的 bin 目录,用 shutdown.sh 停止 tomcat,然后再 startup.sh 启动 tomcat,最后 tail 命令持续观察 tomcat 的日志输出,不想看了,就直接 Ctrl+C 就可以终止 SSH 的会话了。
  不过前面提到的命令 sleep 10,只是建立了 SSH 连接,然后 10 秒钟后自动断开。是不是觉得很无聊没什么用途啊?其实这个命令配合后面提到的 Tunnels(隧道),可以自动保持隧道一定时间的开放,如果指定时间内(在这里就是 10 秒钟)隧道没有被使用,就自动关闭 SSH 连接和隧道。
如果选中了 Don't start a shell or command at all 就禁用了自动执行命令这一个特性,这个主要是配合 Tunnels (隧道)来使用的。因为有时候,我们只需要利用隧道建立一个 VPN,而并不需要登录上去执行命令。用这个方法建立好隧道以后,就一直开放了,除非自己手工关闭。
24.jpg
Protocol options 里面有个 Enable compression,这个选项的意思就是传输时压缩数据,在连接速度不变的情况下,变相的提高了传输速率。一般的 SSH 服务器都会允许这个选项的,所以还是选中好了。
25.jpg

无需口令登录

在 Connection-〉SSH-〉Auth 这里面有两个需要了解的,以后在讲到 PuTTYGEN 和 Pagent 时会详细介绍的。
一个是 Allow agent forwarding,作用是允许私钥代理的转发。
另外一个是最下面的 Private key file for authentication,选择私钥认证文件。
这两个可以让你用 SSH 登录不用输入主机口令,但是私钥的口令还是需要输入的,如果使用了私钥代理 Pagent ,私钥口令也可以省略。再配合前面提到的自动指定用户名登录,可以实现自动登录主机。登录到主机上以后,用 SSH 登录另外一个同样配置了相同的私钥认证的主机,也可以不用再次输入口令。
26.jpg








 楼主| 发表于 2017-3-28 20:04 | 显示全部楼层
1995BZ 发表于 2017-3-28 11:09
这是xp界面吧 win10可以弄么

嗯道理是一样的。但是win10确实没用过,网上搜了下好像用不了putty
发表于 2017-3-28 11:09 | 显示全部楼层
这是xp界面吧 win10可以弄么

点评

嗯道理是一样的。但是win10确实没用过,网上搜了下好像用不了putty  详情 回复 发表于 2017-3-28 20:04
发表于 2017-3-28 20:43 | 显示全部楼层
节操最少的版主
发表于 2017-4-3 20:38 | 显示全部楼层
专业
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|外设堂 ( 辽ICP备13014379号 )辽公网安备 21010202000549号

GMT+8, 2025-1-31 05:36 , Processed in 0.090405 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表