Windows下SSH客服端PuTTY–详细使用教程(一)(转载)

putty使用方法,中文教程序言

杂七杂八的乱说了一些,这里把大体内容罗列以下:html

  • 最简单的使用,登陆 SSH 主机
  • 中文乱码的处理
  • PuTTY 经常使用配置的说明
    • 复制、粘贴
    • 保存会话
    • 注销
    • 自动登陆用户名
    • 自动设置环境变量
    • 设置代理服务器
    • 自动执行命令
    • 备份、删除 PuTTY 的设置
  • PuTTY 的 X11 转发
  • 如何用 PuTTY 创建 SSH 隧道
  • 如何用 PuTTY 创建反向的 SSH 隧道,像个特洛伊木马同样突破防火墙
  • 把 PuTTY 做为一个安全的代理服务器
    • 安全的上网不被嗅探
    • 避免 MSN 等聊天工具被监听
  • 怎样用 PSCP、PSFTP 安全的传输文件
    • 功能强大的 SFTP 客户端 WinSCP
  • 用 PuTTYgen 生成密钥,登陆 SSH 主机再也不须要口令
  • Pagent 代理密钥,每次开机只须要输入一次密钥口令
  • Plink 简单而又迅速的执行 SSH 主机上的程序
  • 常见问题

除了上面的这些,还夹杂了一些 PuTTY 使用上的技巧、服务器配置的一些安全建议。提及来这是一些有关 PuTTY 的使用教程,其实也就是 SSH 的参考教程,绝大多数的内容在其余系统或软件上也都是同样的。不一样的是参数、配置、命令行之类的,只要会了一个,其余也就举一反三了。promise

一些基本知识

若是你已经知道 SSH、Telnet、Rlogin 这是什么,就跳过这一部分,看下面的吧。安全

(之后补充,暂时空下)服务器

简介

PuTTY 的官方网站:http://www.chiark.greenend.org.uk/~sgtatham/putty/,截止到 2007年6月,发布的最高稳定版本是 0.6。app

PuTTY 是一个跨平台的远程登陆工具,包含了一组程序,包括:ide

  • PuTTY (Telnet 和 SSH 客户端)
  • PSCP (SCP 客户端, 命令行下经过 SSH 拷贝文件,相似于 Unix/Linux 下的 scp 命令)
  • PSFTP (SFTP 的命令行客户端,相似于 FTP 的文件传输,只不过使用的是 SSH 的 22 端口,而非 FTP 的 21 端口,相似于 Unix/Linux 下的 sftp 命令)
  • PuTTYtel (仅仅是一个 Telnet 客户端)
  • Plink (命令行工具,执行远程服务器上的命令)
  • Pageant (PuTTY、PSCP、Plink 的 SSH 认证代理,用这个能够不用每次都输入口令了)
  • PuTTYgen (用来生成 RSA 和 DSA 密钥的工具).

虽然包含了这么多,但平时常常见到只是用 PuTTY 登陆服务器,彻底没有发挥出 PuTTY 的强大功能。工具

PuTTY 做为一个组件也存在于不少的软件中,好比 FileZilla、WinSCP字体

在后面的文字中,如非特别说明,默认的登陆的协议是 SSH。毕竟用 PuTTY 主要就是登陆 SSH 主机,用 Telnet、RLogin 无法体现出 PuTTY 的强大功能。网站

安装

下载页面在这里:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 编码

PuTTY 须要安装么?须要么?须要么?真的须要么?不须要。PuTTY 是一个准绿色软件,说它绿色是由于直接就能使用,彻底没有任何的安装程序。准绿色是指 PuTTY 的全部配置都保存到了注册表,若是不记得备份注册表中的相关内容,下次重装机器全部配置就没了,并且配置也不方便用闪存盘随身携带。可是 PuTTY 的配置删除仍是蛮方便的,运行时指定个参数 -cleanup 就能够清除 PuTTY 的全部配置信息。

第一印象,开始登陆一台远程主机

运行 PuTTY 就能够看到下面这个界面

putty登陆界面

在这里输入服务器的 IP 或主机名,选择好登陆协议,还有协议的端口,若是但愿把此次的输入保存起来,之后就不须要再从新输入了,就在第4步输入好会话保存的名称,好比:mail-server,或者干脆就是主机的地址,点击保存就能够了。

putty界面设置

最后点下面的 Open 按钮,输入正确的用户名和口令,就能够登陆服务器了。

首次登陆一台主机时

第一次登陆时,会看到这个对话框

putty对话框

这是要告诉你登陆的主机密钥指纹,点 Yes 就保存起来,之后就不会再弹出这个窗口,而后就正常登陆。点 No 不保存,下次仍是要提示你,而后也能够正常登陆。若是一台主机咱们只是临时登陆一下,固然就是点 No 了。Cancel 就是取消,也就是取消了此次登陆。

若是你曾经登陆过这台主机,可是又弹出来这个对话框,可能有如下几种情形:

  • 主机从新安装了操做系统
  • 这台主机可能有多个IP,此次用的是另一个 IP
  • 有其余不怀好意的主机来冒充,诱骗咱们登陆,窃取隐秘信息

前两个情形很常见,通常点 Yes 就好了。后面这个嘛……唔……唔……,点 No/Cancel,再去询问相关的主机管理人员。

又看到了中文乱码

成功登陆主机后,输入命令,这……这……显示,又是乱码。唉,中文乱码是一个老生常谈的问题,提起来就头大。缘由嘛,不外乎字符集、终端编码之类的,仍是能够解决的。

putty乱码

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

putty显示中文

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

putty设置字体

字体选择好了,还要肯定字符集。

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

putty选择字符集

从新执行命令 ls -l,就能够正常看到中文了

putty中文界面

怎么仍是乱码?

若是仍是乱码的话,就执行如下命令,看看系统的字符集

echo $LANG $LANGUAGE

putty乱码2

哦,原来系统的字符集是 UTF-8 呀。从新返回上面选择字符集的那一步, 选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择“UTF-8”

putty-utf8

这下99%的情形下,汉字是不会有乱码了。最后,总之一下 PuTTY 中乱码的解决办法:

先看看系统的字符集,若是是 UTF-8 的,那就简单了,选择好中文字体,而后编码选择 UTF-8 就好了。

若是编码是 GB23十二、GBK、GB18030,固然也包括 BIG5这些,在 PuTTY 的编码选择中看不到这些编码,那就选择最后一个“Use font encoding”,绝大部分状况下这样就没啥问题了,反正我是没碰到有什么例外的状况。

如今的 Linux 若是默认语言选择为中文,默认的编码就是 UTF-8 了。之前安装 Redhat AS 3 时,语言选择为中文,默认的编码是 zh_CN.gb2312, zh_CN.gb18030,好像从 AS 3 update 6 开始,包括如今的 AS四、AS5,中文的默认编码都成了 zh_CN.utf8。至于 Debian、Ubuntu 等等这些上面,好像一直都是 UTF-8。

至因而使用 UTF-8呢,仍是用 GB23十二、GBK 或者 GB18030呢?我我的仍是倾向于 UTF-8。毕竟咱们使用的大多数软件都是国外的,处理中文编码多多少少有些问题,PuTTY 天然也不例外。

下面的这个图上,我把终端编码修改成 zh_CN.utf8,而后也按照前面的所说的方法把 PuTTY 的字符集修改成 UTF-8。而后在终端中输入汉字“柴锋”,按左方向键,能够看到汉字显示很正常。

putty输入中文

我从新把终端的编码修改成 zh_CN.gb2312,一样的,把 PuTTY 的字符集修改成最后一个“Use font encoding”。仍是在终端上输入汉字“柴锋”,按下左方向键之后,会看到汉字乱码了。

putty-gb2312

至于用哪一个编码,主要仍是看领导的决定了,咱们的领导就喜欢 GBK,连 GB18030 都不行。之前在用 Debian 的时候,好像默认都不支持 GBK 编码。这几年公司的开发在汉字编码问题上出过几回麻烦,还不就是在 ISO8859-1, GB2312/GBK/GB18030和UTF-8上折腾来折腾去。

给你们看一张 emacs 的截图,看看上面的这么多语言的文字共同显示,这个会是用 GB2312/GBK/GB18030 的编码么?

putty-gbk

用 UTF-8 也不是为了要在一个屏幕上显示好几种不认识的文字,也不必定非要是跟国际接轨弄个外包给老外开发程序作个其余语言的界面让老外用,起码不要在那么多编码里折腾了,顶多两个 ISO8859-1 和 UTF-8。发发牢骚,下面继续……

在 PuTTY 里面怎样选中,复制和粘贴?

在 PuTTY 的窗口里面复制、粘贴可不能用 Windows 里的这些 Ctrl C, Ctrl Ins, Ctrl V 这些快捷键,Ctrl C 在控制台上但是终止当前的命令执行。

PuTTY 的选择、复制、粘贴这些操做都是经过鼠标来完成的。

在 Window-〉Selection 这里能够设置复制和粘贴的方式。

putty复制粘贴

默认的 Action of mouse buttons (鼠标按键的功能)的选项是 Compromise,这种方式下选中有两种方式,一是直接用鼠标左键拖拉选中就能够了,二是用鼠标中键单击选中区域的开头,用滚动条拖拉到指望选中区域 的末尾,再用鼠标中键单击,就能够选中了。

选中之后,单击鼠标左键就把选中部分复制到剪贴板了。粘贴也很简单,单击鼠标右键。

Action of mouse buttons 的第一个选项是 Windows (Windows 方式的),鼠标中键的操做跟前面提到的同样。右键不是粘贴了,而是打开了右键菜单。

putty复制粘贴1

其实这个右键菜单在标题栏上点击,也均可以看获得。

putty复制粘贴2

第三个选项是 xterm (xterm 方式),这个跟默认的 Compromise 方式相反的,中键和右键的操做调换了一下,就很少说了。

下面那个 Shift overrides application’s use of mouse 是和 Shift 键有关的。有些 Rogue Like 的程序,好比 mc、links、Lynx、VIM 等等,都支持鼠标操做,想在用鼠标在上面选择或粘贴就不行了。这个选项默认是选中的,在支持鼠标操做的 Rogue Like 界面下,按住 Shift 键,就能够像前面的那样用鼠标来选择、复制、粘贴了。

看下面的这个图片,用 Links 打开了 Google 的首页,用鼠标去选中 顶部中间的 Google,咱们会发现,弹出了保存的对话框。

putty-xterm

按住 Shift 键从新操做一次,哈哈,此次选中了。

putty-xterm1

在 Control use of mouse 里面还有个 Default selection mode (默认的选择模式),默认是 Normal,就像文字处理工具里这样的选择

另一个是 Rectangular block(块选择方式),至于用哪一种方式就看本身的选择了。

ajbgz6fp3pjh_43crqhds

实时保存会话

此次更改配置参数了,关闭窗口后,下次使用仍是要从新选择的,麻烦。

仍是回到上面修改配置的哪一个地方,选择左边的 Session,在右边选择要覆盖的会话名称,或者从新输入一个新的名称,点击 Save 按钮保存。

putty保存会话

成功登陆主机后,也能正常看到中文了。这样,咱们就能够完成大部分的工做。最后要关闭窗口了,该怎么办呢?我见过不少人,包括咱们公司负责专职维护的同事,都是直接点击窗口上的关闭按钮,彻底没有理会弹出警告窗口,直接点击了 Yes。

ajbgz6fp3pjh_16cfthdg

这样作是不对的,首先这不是正确的注销方式,应该输入命令 exit 来正常注销;其次直接关闭窗口后,你的登陆其实还在服务器上,若是一连屡次的这样强制关闭窗口,用命令 w 或者 who 命令查看时,能够看到不少的用户还在系统上登陆,占用了系统的资源。最重要的是,你的此次登陆可能只是为了启动一下 WebLogic 或者其余什么应用服务器,直接关闭窗口后,可能会致使你的业务在随后的几分钟内也被终止,这应该不是你所但愿看到的吧。

若是上述的理由是每次要输入 exit 而后回车,比较麻烦。你能够用快捷键 Ctrl d 来注销登陆,通常状况下,快捷键一按窗口都直接关闭了,还省了两次鼠标点击。

在前面说道保存会话时,你们或许也注意到,下面有个 Close window on exit 有三个选项:

  • Always (无论怎样,窗口老是要关闭的)
  • Never (不管是否有程序还在运行,都不要关闭窗口)
  • Only on clear exit (这个是默认选中的,只有在本次登陆中运行的程序都正常终止或者在后台运行,窗口才关闭)

有的程序在执行时,虽然在命令最后面加上 “&”就能放到后台运行。可是正常注销登陆后,窗口没有被自动关闭,还能看到程序的输出,这时强制关闭窗口仍是能够的。为了不这种情形,可使用 nohup 命令。

用法嘛就是: nohup 命令 命令参数,这样就能够了。

相关文章
相关标签/搜索