不管得到什么东西都需要付出,只有真正付出了,才能真正感受到成功之后的喜悦

这个博客不仅仅是介绍 PuTTY,还包括了一些相关的软件,比如:优秀的 FTP 工具 FileZilla、功能强大的 SFTP 客户端 WinSCP。

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

· 最简单的使用,登录 SSH 主机

· 中文乱码的处理

· PuTTY 常用配置的说明

o 复制、粘贴

o 保存会话

o 注销

o 自动登录用户名

o 自动设置环境变量

o 设置代理服务器

o 自动执行命令

o 备份、删除 PuTTY 的设置
3N{:e]#`"?c$i0

· PuTTY 的 X11 转发LUPA开源社区A-{ m;Kxc3j9P

· 如何用 PuTTY 建立 SSH 隧道

· 如何用 PuTTY 建立反向的 SSH 隧道,像个特洛伊***一样突破防火墙

· 把 PuTTY 作为一个安全的代理服务器

o 安全的上网不被嗅探
C;[9_6J8gKi)d-Y0

o 避免 MSN 等聊天工具被监听
Zmg!L7t/Q!k0

· 怎样用 PSCP、PSFTP 安全的传输文件

o 功能强大的 SFTP 客户端 WinSCP
q5b0RU} l0

· 用 PuTTYgen 生成密钥,登录 SSH 主机不再需要口令
%P�SJIUT?&Wxh;_0

· Pagent 代理密钥,每次开机只需要输入一次密钥口令

· Plink 简单而又迅速的执行 SSH 主机上的程序

· 常见问题
:z c/T.@"JP"B7fr0

除了上面的这些,还夹杂了一些 PuTTY 使用上的技巧、服务器配置的一些安全建议。说起来这是一些有关 PuTTY 的使用教程,其实也就是 SSH 的参考教程,绝大多数的内容在其他系统或软件上也都是一样的。不同的是参数、配置、命令行之类的,只要会了一个,其他也就触类旁通了。
-s2MV(H[$K.F{0

一些基本知识

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

(以后补充,暂时空下)LUPA开源社区J'\%b-_8kN(W

LUPA开源社区w9?W`%X*Z{n9i

简介

PuTTY 的官方网站:http://www.chiark.greenend.org.uk/~sgtatham/putty/,截止到 2006年11月,发布的最高稳定版本是 0.58 2007年6月,发布的最高稳定版本是 0.6。
E]{6dC+Z-oV_.wo0
X4S\T(D jT0PuTTY 是一个跨平台的远程登录工具,包含了一组程序,包括:LUPA开源社区G4W+_/Li/m

· 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 的强大功能。LUPA开源社区C!x jM:x V!T
PuTTY 作为一个组件也存在于很多的软件中,比如 FileZilla、WinSCP
@-x"o GgxN`8q0在后面的文字中,如非特别说明,默认的登录的协议是 SSH。毕竟用 PuTTY 主要就是登录 SSH 主机,用 Telnet、RLogin 没法体现出 PuTTY 的强大功能。
w:NQ"u5V"E9r1a0

安装

下载页面在这里:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
(MEf U;lh$C6ly0PuTTY 需要安装么?需要么?需要么?真的需要么?不需要。PuTTY 是一个准绿色软件,说它绿色是因为直接就能使用,完全没有任何的安装程序。准绿色是指 PuTTY 的所有配置都保存到了注册表,如果不记得备份注册表中的相关内容,下次重装机器所有配置就没了,而且配置也不方便用闪存盘随身携带。但是 PuTTY 的配置删除还是蛮方便的,运行时指定个参数 -cleanup 就可以清除 PuTTY 的所有配置信息。LUPA开源社区/KOJ3] h1o3f;Eb

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

运行 PuTTY 就可以看到下面这个界面LUPA开源社区5Dc5v B9d0nn
LUPA开源社区7K"r#T
F,^
在这里输入服务器的 IP 或主机名,选择好登录协议,还有协议的端口,如果希望把这次的输入保存起来,以后就不需要再重新输入了,就在第4步输入好会话保存的名称,比如:mail-server,或者干脆就是主机的地址,点击保存就可以了。LUPA开源社区},|aR!O"mZ$Q+C
LUPA开源社区Qk;`$W]t
最后点下面的 Open 按钮,输入正确的用户名和口令,就可以登录服务器了。LUPA开源社区 n7K)c!^f1h

首次登录一台主机时

第一次登录时,会看到这个对话框
zMU u{"_-{$\0P0LUPA开源社区u[b*AJ5RuK
这是要告诉你登录的主机密钥指纹,点 Yes 就保存起来,以后就不会再弹出这个窗口,然后就正常登录。点 No 不保存,下次还是要提示你,然后也可以正常登录。如果一台主机我们只是临时登录一下,当然就是点 No 了。Cancel 就是取消,也就是取消了这次登录。
%G6D/b/y N6h0如果你曾经登录过这台主机,但是又弹出来这个对话框,可能有以下几种情形:
:x(^p#g4GB.MJV/b0

· 主机重新安装了操作系统

· 这台主机可能有多个IP,这次用的是另外一个 IP

· 有其他不怀好意的主机来冒充,诱骗我们登录,窃取隐秘信息
*vF9E6a8pO3aD0

前两个情形很常见,一般点 Yes 就行了。后面这个嘛……唔……唔……,点 No/Cancel,再去询问相关的主机管理人员。
6|"w;l1e#u9L+u:E4B0

又看到了中文乱码

成功登录主机后,输入命令,这……这……显示,又是乱码。唉,中文乱码是一个老生常谈的问题,提起来就头大。原因嘛,不外乎字符集、终端编码之类的,还是可以解决的。
!bE;wDfjz f7Y*EV0LUPA开源社区r/L3HNd0b
PuTTY 的默认字体和字符集并不适合中文显示, 在窗口标题上点击右键,选择 Change Settings...
igI'B1D O/xC9m0LUPA开源社区)VASA:AK:`;i6M(eW
在打开的配置窗口左边选择 Appearance,在右边点 Font settings 里面的 Change 按钮,选择好中文字体,比如:宋体、新宋体之类的LUPA开源社区4b$EDi3sm
LUPA开源社区fr!s5H!Y!w8jd
U
字体选择好了,还要确定字符集。LUPA开源社区0L4X%b3y'u4K @
选 择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择最后一个“Use font encoding”,最后点下面的 Apply 按钮就生效了。
A7^;yI5L;k wO0LUPA开源社区b"@?vAyR
重新执行命令 ls -l,就可以正常看到中文了LUPA开源社区tzMy(q|"U~I

:NE}0g3n4L+Q0

怎么还是乱码?

如果还是乱码的话,就执行以下命令,看看系统的字符集
E#}_z0K^s3A0echo $LANG $LANGUAGE
c8g/^ j)?#Nlp4?'L0
5PvD }hd;@0哦, 原来系统的字符集是 UTF-8 呀。重新返回上面选择字符集的那一步, 选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择“UTF-8”LUPA开源社区6qvL {9L&Gc
LUPA开源社区pe)~!{5o,c2K%\
这下99%的情形下,汉字是不会有乱码了。最后,总之一下 PuTTY 中乱码的解决办法:LUPA开源社区.t*Z!@%x7k
先看看系统的字符集,如果是 UTF-8 的,那就简单了,选择好中文字体,然后编码选择 UTF-8 就行了。
,tb(m6e9O�{8H4C0如果编码是 GB2312、GBK、GB18030,当然也包括 BIG5这些,在 PuTTY 的编码选择中看不到这些编码,那就选择最后一个“Use font encoding”,绝大部分情况下这样就没啥问题了,反正我是没碰到有什么例外的情况。LUPA开源社区D)y0P'fgk
现在的 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。
#?J`2Ob0至于是使用 UTF-8呢,还是用 GB2312、GBK 或者 GB18030呢?我个人还是倾向于 UTF-8。毕竟我们使用的大多数软件都是国外的,处理中文编码多多少少有些问题,PuTTY 自然也不例外。
xK9X'YyT0下面的这个图上,我把终端编码修改为 zh_CN.utf8,然后也按照前面的所说的方法把 PuTTY 的字符集修改为 UTF-8。然后在终端中输入汉字“柴锋”,按左方向键,可以看到汉字显示很正常。LUPA开源社区"`y'h)BEW
LUPA开源社区`(N;get4cD9e
我重新把终端的编码修改为 zh_CN.gb2312,同样的,把 PuTTY 的字符集修改为最后一个“Use font encoding”。还是在终端上输入汉字“柴锋”,按下左方向键以后,会看到汉字乱码了。
?N-mRh QZ0LUPA开源社区H;x#udW4\
至 于用哪个编码,主要还是看领导的决定了,我们的领导就喜欢 GBK,连 GB18030 都不行。以前在用 Debian 的时候,好像默认都不支持 GBK 编码。这几年公司的开发在汉字编码问题上出过几次麻烦,还不就是在 ISO8859-1, GB2312/GBK/GB18030和UTF-8上折腾来折腾去。
ZW-]U%J\;c|0给大家看一张 emacs 的截图,看看上面的这么多语言的文字共同显示,这个会是用 GB2312/GBK/GB18030 的编码么?
jc3M$KUtd0
LUPA开源社区ih3p v%s?s4I

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

在 PuTTY 的窗口里面复制、粘贴可不能用 Windows 里的这些 Ctrl+C, Ctrl+Ins, Ctrl+V 这些快捷键,Ctrl+C 在控制台上可是终止当前的命令执行。LUPA开源社区 l{)[(b%@r8F {[/X(zI
PuTTY 的选择、复制、粘贴这些操作都是通过鼠标来完成的。LUPA开源社区6w)C2lQ~G
在 Window-〉Selection 这里可以设置复制和粘贴的方式。LUPA开源社区*x_(`8_~queE5f
LUPA开源社区4s(In6\-SX
默 认的 Action of mouse buttons (鼠标按键的功能)的选项是 Compromise,这种方式下选中有两种方式,一是直接用鼠标左键拖拉选中就可以了,二是用鼠标中键单击选中区域的开头,用滚动条拖拉到期望选中区域 的末尾,再用鼠标中键单击,就可以选中了。
$u,D"mKU*i0选中以后,单击鼠标左键就把选中部分复制到剪贴板了。粘贴也很简单,单击鼠标右键。
"EwTc `Dl
jw0Action of mouse buttons 的第一个选项是 Windows (Windows 方式的),鼠标中键的操作跟前面提到的一样。右键不是粘贴了,而是打开了右键菜单。

LUPA开源社区&\y%p&~&[m({LUPA开源社区1@b#a&cmc
其实这个右键菜单在标题栏上点击,也都可以看得到。LUPA开源社区n+vZ5\'w6f"LM
LUPA开源社区YgP9Fp,n~B6S第三个选项是 xterm (xterm 方式),这个跟默认的 Compromise 方式相反的,中键和右键的操作调换了一下,就不多说了。LUPA开源社区,do_T0Fe(LW
下 面那个 Shift overrides application's use of mouse 是和 Shift 键有关的。有些 Rogue Like 的程序,比如 mc、links、Lynx、VIM 等等,都支持鼠标操作,想在用鼠标在上面选择或粘贴就不行了。这个选项默认是选中的,在支持鼠标操作的 Rogue Like 界面下,按住 Shift 键,就可以像前面的那样用鼠标来选择、复制、粘贴了。
!BJ�ui?)j0看下面的这个图片,用 Links 打开了 Google 的首页,用鼠标去选中 顶部中间的 Google,我们会发现,弹出了保存的对话框。

LUPA开源社区_6Q"V cg
@JLUPA开源社区6_@4Zs$u
按住 Shift 键重新操作一次,哈哈,这次选中了

'pG(I/a8[0LUPA开源社区G@d[ Ns
在 Control use of mouse 里面还有个 Default selection mode (默认的选择模式),默认是 Normal,就像文字处理工具里这样的选择

LUPA开源社区6Wl-C3Df%[+_1ES
RU$a3e ^0另外一个是 Rectangular block(块选择方式),至于用哪种方式就看自己的选择了。
Z1`!JA+Xk$U%M C0LUPA开源社区Eb+L}\-Uk+mN
LUPA开源社区{!`[ WH-F.J2^#B

实时保存会话

这次更改配置参数了,关闭窗口后,下次使用还是要重新选择的,麻烦。
MuV%\_\*g
?0还是回到上面修改配置的哪个地方,选择左边的 Session,在右边选择要覆盖的会话名称,或者重新输入一个新的名称,点击 Save 按钮保存。LUPA开源社区 @7`
P.hFK$@
Db
LUPA开源社区C[5i;['N�G:S�G
d

关于注销登录的一些事情

成功登录主机后,也能正常看到中文了。这样,我们就可以完成大部分的工作。最后要关闭窗口了,该怎么办呢?我见过很多人,包括我们公司负责专职维护的同事,都是直接点击窗口上的关闭按钮,完全没有理会弹出警告窗口,直接点击了 Yes。
9mxn_Vlg"M0
7]WIkH7VF0这样做是不对的,首先这不是正确的注销方式,应该输入命令 exit 来正常注销; 其次直接关闭窗口后,你的登录其实还在服务器上,如果一连多次的这样强制关闭窗口,用命令 w 或者 who 命令查看时,可以看到很多的用户还在系统上登录,占用了系统的资源。最重要的是,你的这次登录可能只是为了启动一下 WebLogic 或者其他什么应用服务器,直接关闭窗口后,可能会导致你的业务在随后的几分钟内也被终止,这应该不是你所希望看到的吧。LUPA开源社区1xeoJz W"Z @
如果上述的理由是每次要输入 exit 然后回车,比较麻烦。你可以用快捷键 Ctrl+d 来注销登录,一般情况下,快捷键一按窗口都直接关闭了,还省了两次鼠标点击。LUPA开源社区2lK8j$r8G(J"Y#Z�f
在前面说道保存会话时,大家或许也注意到,下面有个 Close window on exit 有三个选项:LUPA开源社区?Y ^d9G'wW

· Always (不管怎样,窗口总是要关闭的)

· Never (无论是否有程序还在运行,都不要关闭窗口)

· Only on clear exit (这个是默认选中的,只有在本次登录中运行的程序都正常终止或者在后台运行,窗口才关闭)LUPA开源社区_] V2Y{ v*j

有的程序在执行时,虽然在命令最后面加上 “&”就能放到后台运行。但是正常注销登录后,窗口没有被自动关闭,还能看到程序的输出,这时强制关闭窗口还是可以的。为了避免这种情形,可以使用 nohup 命令。LUPA开源社区0Ru3{(~4bLx
用法嘛就是: nohup 命令 命令参数,这样就可以了。LUPA开源社区cI la&J"{P2R

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

执行

了一个命令,输出了好多东西,但是默认的配置下,PuTTY只保存了最后200行的内容,满足不了我们的需求。LUPA开源社区
aa3Go/Y aYL}+W
还是在标题栏上点右键选择 Change settings...,在配置窗口的左边选择 Window,修改右边的 Lines of scrollback,改大点,比如 20000、80000的
4r[%A'[8OS0
[?cu-a�y0在上面的 Set the size of the window 里设置的是窗口显示的行数和列数,默认是 24 行、80 列,根据自己的需要来修改吧。
$j(xYZD&s9z/v_0When window is resized 这个选项配置的是,当窗口大小发生改变时该采取什么动作。LUPA开源社区#a^|K9DYwDX\+H w

· 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个选项。LUPA开源社区2A&VH/A6v;N;j
第3个选项嘛,要求你的屏幕不是宽屏的,选中这个选项以后,大家可以先把窗口往窄的缩一下,然后最大化窗口,哈哈,满足一下不是宽屏的虚荣心。LUPA开源社区0T,Tw;me)^+Y1n8?
顺便说一下,在 PuTTY 中的前后翻页,与 Linux 终端一样,用 Shift+PageUp/PageDown 来上下翻页,而 Ctrl+PageUp/PageDown 则是一行一行的。
5W4a J`1}0

新建一个会话时,还有些东西再啰嗦一下

前面把如何用 PuTTY 登录一台主机到注销的过程聊了一遍,但是在新建会话时还是有些东西需要再啰嗦一下的。
4K[ zE5y}!F!yM4}0

保持连接,不要自动断开

在 Connection 里面有个 Seconds between keepaliaves,这里就是每间隔指定的秒数,就给服务器发送一个空的数据包,来保持连接。以免登录的主机那边在长时间没接到数据后,会自动断开 SSH 的连接。
u5`N-jA�k\%E}i0默认输入 0 是禁用保持连接,在这里我习惯的设置了 10。
2y u6o�M2XF}3U&oS bS0下面的那两个复选框都保持默认选中吧。
2@Nl|4{0

自动登录用户

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

MzaT'z/d0

自动设置环境变量

还是前面的那个界面,下面有个 Environment variables,在 Variable 输入环境变量的名称,Value里设置上环境变量的值,登录主机后就会自动设置上,但是这个不一定能用,有些主机为了安全,可能会禁用这个特性,一旦登录 就会收到这样一个错误提示:LUPA开源社区3@U/E]sM

Server refused to set environment variablesLUPA开源社区-Y'w"`
d$M'f

设置代理服务器

这个经常用到,设置方法大同小异,注意选择好 Proxy type(代理服务器的类型)就可以了。
bX0r%Ww#bu,D |�]U0代理服务器的地址填写到 Proxy hostname 这里,Port 就是代理服务的端口(HTTP代理常用端口有 3128、8080,Socks5代理常用端口有 1080)LUPA开源社区_ch(D J
Exclude Hosts/IPs 这里是填写排除的主机地址和IP,有些地址不需要代理,就在这里填写。
.w4fQ:G
ko#}6i(YR0有些代理需要认证,用户名填写到 Username,密码则填写到下面的 Password。
r J9w/o hz9?0LUPA开源社区_)F"h`"j

自动执行一个命令

在 Connection-〉SSH 里有个 Remote command,在这里面填写上远程服务器上的某个命令,比如:df,登录后就会自动执行。
5sR,Xz7?�R0我们在 Unix 上用 ssh 登录主机时用的命令 ssh,在 ssh 的最后面加上远程主机上的命令,就跟这个一样。
v*i*H b9A$E_0但是……,先别着急,一旦设置上这个选项,你会发现在登录成功后,窗口一下就关闭了,嘿,怎么啦?什么也没看见。
%H7Yh(K.H%[0因为命令执行完毕的同时,本次 SSH 登录连接也随之关闭。
bR9Za2L{_m)_0
I�i%CK&M7E0你可以把远程自动执行的命令修改成 sleep 10,然后重新登录,再看看效果。
3l|Q
LD)^&cftn0登录成功后,没有出现命令提示符,10秒钟后,窗口自动关闭。这也验证了刚才我说的,命令执行完毕后,SSH 连接自动断开。LUPA开源社区5Y3Mm-uF;`Q
冰雪聪明的你一定会想到,如果每次登录主机,都是要重新启动一下 tomcat,那这里就可以填写上这样的命令:LUPA开源社区Qk3uz;bbF9C\7[

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.outLUPA开源社区(tKLsfrP

(上面的命令是一行的哦)
~m }j'DJ;r0先 自动设置一下环境变量(前面有提到,服务器可能会禁用自动设置环境变量,为了保险起见,在这里设置了一下),然后进入 tomcat 的 bin 目录,用 shutdown.sh 停止 tomcat,然后再 startup.sh 启动 tomcat,最后 tail 命令持续观察 tomcat 的日志输出,不想看了,就直接 Ctrl+C 就可以终止 SSH 的会话了。LUPA开源社区/nz0DR_WC F`b8Wh
哈哈,是不是很方便?
3}@0xD2Sm E Q~0不 过前面提到的命令 sleep 10,只是建立了 SSH 连接,然后 10 秒钟后自动断开。是不是觉得很无聊没什么用途啊?其实这个命令配合后面提到的 Tunnels(隧道),可以自动保持隧道一定时间的开放,如果指定时间内(在这里就是 10 秒钟)隧道没有被使用,就自动关闭 SSH 连接和隧道。
+]E+m4q^cD;Jc0如 果选中了 Don't start a shell or command at all 就禁用了自动执行命令这一个特性,这个主要是配合 Tunnels (隧道)来使用的。因为有时候,我们只需要利用隧道建立一个 ×××,而并不需要登录上去执行命令。用这个方法建立好隧道以后,就一直开放了,除非自己手工关闭。LUPA开源社区t/u$MouN�[6t
LUPA开源社区/_W%r9nYgc mB
嗯,还有个问题哦,如果一次要执行的命令很多,该怎么办呢?嗯,给 PuTTY 用 -m 选项指定一个包含远程主机上执行的命令的文本文件。不过以后还会说到 Plink,就是专门做这个用的,慢慢来慢慢来。
*JY's)YD1[df0
%`)EQ
\#d0c(u}P4S0

数据自动压缩传输,变相的提高传输速率

还是前面的那个界面,Protocol options 里面有个 Enable compression,这个选项的意思就是传输时压缩数据,在连接速度不变的情况下,变相的提高了传输速率。一般的 SSH 服务器都会允许这个选项的,所以还是选中好了。LUPA开源社区zK$b#]%S2]0W2d5Jx*O
LUPA开源社区*xDN/pM2W

无需口令登录

在 Connection-〉SSH-〉Auth 这里面有两个需要了解的,以后在讲到 PuTTYGEN 和 Pagent 时会详细介绍的。LUPA开源社区'Q8TAH\8u
一个是 Allow agent forwarding,作用是允许私钥代理的转发。LUPA开源社区v CT]K]!N.|4kf
另外一个是最下面的 Private key file for authentication,选择私钥认证文件。LUPA开源社区NNghaUv2m
这 两个可以让你用 SSH 登录不用输入主机口令,但是私钥的口令还是需要输入的,如果使用了私钥代理 Pagent ,私钥口令也可以省略。再配合前面提到的自动指定用户名登录,可以实现自动登录主机。登录到主机上以后,用 SSH 登录另外一个同样配置了相同的私钥认证的主机,也可以不用再次输入口令。
Tr#])Pi&{"E0这些可以大大减轻了我们的重复工作,不用单调枯燥的输入用户名和口令,但是这样使用有个后遗症就是如果主机密码没有在另外一个地方记录下来的话,这个密码很快会忘记的,好处嘛,密码可以设置的很长很变态 XD。LUPA开源社区,Y:W{F9B,E
LUPA开源社区9U ho:E6}

X11 转发能够让你在 Windows 上使用 Linux 的程序

这里很简单,选中 Enable X11 forwarding 后登录主机,记得在我们本地运行 X 服务端程序(比如:免费好用的 Xming)。
}"V Z j/H�H,vK0LUPA开源社区k4D"S8C6}!U`+FH
然后在控制台直接输入 X 环境下运行的程序,比如:xlogo,我们就可以看到 Linux 上的GUI界面的程序在Windows桌面上打开了。
dc[1igSV0

运行个复杂的,比如 gnome-session,这个是 GNOME 的启动命令,如果想打开 KDE 就是 startkdeLUPA开源社区(K/L!A7](N'udj:}6n


h/C,@A,L,^%fQlbv/S0这样跟在本地使用 X Window 几乎是一样的了,而且还是运行在 Windows 的桌面上呢,骗骗小 mm 还是不错的。或许你会问这样用跟 vnc 那还不一样了?答案是,不一样。如果网络环境不好,还是用vnc吧,否则迟钝的图形响应速度会让你抓狂的。LUPA开源社区;Z*\7n1]
]m

打开了 GNOME 桌面,怎么关闭呢?点菜单的注销吧。如果你点了关机,这可关不了你的Windows,关的是远程主机。
&m
u%\JC+u[p0

用 SSH Tunnels(SSH 隧道),突破防火墙

哇哦,突破防火墙!是不是忽然有了做***的感觉呢?呀!×××,我躲——,身子往后仰,继续闪……,噢,肚皮被×××蹭了一下。LUPA开源社区;lR-bG!lKY
简单的说一下,SSH 协议能够通过已经建立好的 SSH 加密链路来转发任意的网络连接,从而避免了网络中的明文传输,也就无法用一些 Sniffer 工具嗅探到我们的隐秘信息了。
"TJ*LP1z�h
p0先 说一下大致的使用过程,登录到主机上以后,就可以建立好一个 SSH 隧道,这时在你的机器本地会开放一个端口,通过本地的这个端口访问,就相当于在主机上去直接访问。很像代理服务器吧,如果隧道另一端的端口是动态的, SSH 隧道就是一个代理了,SSH 隧道的意思大致就是这个。通过 SSH 隧道,我们可以保证从我们这一段到主机那一端是安全的,不会被监听到。LUPA开源社区&n GR4o"vQ
说了这么多,实际演练演练就知道了。在 PuTTY 的 Connection-〉SSH-〉Tunnels 这里就是配置 SSH 隧道的。
H T%s}`S\ |0Add new forwarded port 这里就是添加隧道转发端口的,其中 Source port 是隧道的源端口,也就是隧道的入口,连接隧道时要连接这个端口。Destination 这里是目的地,隧道的出口,输入的格式是: server:port。
1U F2gR^+N@0还 要说明的一点是 SSH 隧道是有方向的,这个方向是由下面的单选按钮 Local/Remote/Dynamic 来决定的。如果下面的单选按钮选中的是 Local,那么 Destination 这里填写的目标是相对于远程主机而言,而非你的机器。这样的隧道可以称之为正向隧道,隧道的入口是在你的本地,出口在远程主机那一端。如果单选按钮选中的 是 Remote,那么目标地址就是相对与你的机器而言,而非远程主机。这样的隧道称之为反向隧道,隧道的入口是远程主机那一端,隧道的出口则是你的本地机 器。这与 Local 选项是相反的。而最后一个 Dynamic 则不用指明 Destination 目标地址,也就是说目标地址是动态的了,连入隧道时可以随意指定目标地址,而不像 Local/Remote 指明的固定目标地址,所以这样的隧道就成了变相的加密 socks5 代理服务器了。
8lQ$lu
R�{j0看明白了么?是不是会有些糊涂?后面我会举个例子来详细说说的。LUPA开源社区^Tcs5zl2e"|(l[
LUPA开源社区"utU!Y(y0a]
开 始演练,我们现在建立一条到远程主机 guantouping 上端口 7001 的隧道,在 guantouping 上可以用 nc -l -p 7001 localhost 这条命令建立一个监听本地到端口 7001 的连接,这样确保无法从其他机器访问这台主机的端口,只能在 guantouping 这台主机上用 telnet localhost 7001 来连接。现在我的机器 IP 是 192.168.6.25,如果直接用命令 telnet guantouping 7001 访问的话,那么在主机 guantouping 上会看到这样的提示:
m&CTJ*Ek)Cxg~S0

[taylor@guantouping taylor]$ nc -l -p 7001 localhostLUPA开源社区q5f$Gr_�Q_[gO
invalid connection to [192.168.6.200] from (UNKNOWN) [192.168.6.25] 1926
w&H*Qc*s)|0w N0

在这个配置面板上, Source port 上填写 8080,也就是我们要通过本地的 8080 端口来进入 SSH 隧道, Destination 这里填上 127.0.0.1:7001,就表示被登录的主机 guantouping 访问该主机本地的 127.0.0.1:7001 这个端口。正常登录到主机 guantouping 以后,SSH 隧道就建立好了。在我的机器 192.168.6.25 上输入命令 telnet localhost 8080,输入一些东西,就会在 guantouping 上看到有响应。在这里我用的是 nc,看起来方便一点,telnet 也是一样的。LUPA开源社区*l"|j1DvG

#K9Bh'c%lz-\2[0这 就是正向 SSH 隧道的一个例子,大家实地操作几次也就会明白了。最上面有个复选框是“Local ports accept connections from other hosts”,这个选项的作用是允许其他主机连接你机器上的隧道入口,默认情况下建立好隧道以后,只允许本地链接。只有选中这个复选框才允许其他主机连接 你的本地隧道入口。LUPA开源社区 P�jt4H}R:B_u:LQD

象特洛伊***一样建立一条 SSH 反向隧道

下面要说的就是选中单选按钮 Remote 后建立的反向 SSH 隧道,这样的隧道做什么用呢?一般防火墙都是允许从内往外链接,而不允许从外到内的链接,除非在防火墙上做好nat或端口转发。现在,你在防火墙的内部, 但是又想让外面的人链接到你的机器上。防火墙厚厚的城门紧闭,外面的人进不来,只有你能从里面打开这扇防护严密的大门,就像一个特洛伊***一样,你主动连 接出去建立一个反向的 SSH 隧道,然后外面的人就可以通过这个反向的 SSH 隧道轻松突破防火墙链接到的你的本地机器。看下面这个图:
2i&}v^`|&bpy0

在 Source port 这里填写 8080,也就是隧道的入口是端口8080,Destination 这里填写 localhost:7001,也就是隧道的出口是本地的 7001 端口,下面的单选按钮要选中 Remote,表示建立的隧道是个反向隧道,填写完毕别忘记点 Add 按钮,在上面就可以看到显示的是 R8080 localhost:7001。成功登录远程主机 guantouping 后,反向隧道就建立好了。在远程主机 guantouping 上输入命令 telnet localhost 8080 就可以连接到你的本地端口7001。LUPA开源社区iJ gQD]:v5L


1Y-RT1j:{�c$n0LUPA开源社区p w+h$zK#Ho2O
哈 哈,这样一个特洛伊***般的反向 SSH 隧道就建立完毕了。我们在远程主机上连接 8080 端口,其实就连接到了我们本地机器的7001 端口了。上面共有两个复选框,我们提到了一个,已经说了,选中以后就允许其他机器连接隧道入口了。那第二个“Remote ports do the same (SSH-2 only)”,则是给反向隧道使用的,也就是说远程主机的那个反响隧道入口也做同样的事情,也就是允许其他机器连接远程主机上的反向隧道入口,不过一般情 况下这个选项都不会起作用的 ^_^。LUPA开源社区1}sv%_8^%w-D

把 PuTTY 作为一个安全的代理服务器来使用

这个简单,在 Source port 那里填写上 1080,Destination 这里空下不填,选中下面的 Dynamic,最后别忘了点 Add 按钮。
wm k*D1b~*g$E2Z2b0

登录远程主机后,一个代理服务器就建立好了,这个代理服务器的地址就是 localhost:1080,还是加密的哦。据说国外某著名的主机供应商就提供远程的 SSH 链接,通过这个方法我们就建立了一个加密的 socks5 代理,可以轻松绕过万恶的 GFW 去拥抱 Wikipedia,波~~~,来一口。LUPA开源社区-\[x6u8T%h

设置 PuTTY 的默认设置

每次登录主机,无一例外的修改字体,修改字符集,修改窗口的大小,指定私钥文件,允许 X11 转发,……LUPA开源社区)SO|ZS"f
几台主机还好说,几十个上百个主机这样三天两头的设置也会让唐僧烦了的。
)Q2z\'}!B/O4N0选中一个先前配置好的会话,点 Load 按钮。LUPA开源社区P"c7cHY0Lv

b'DAi�{X0然后修改Saved Sessions会话名称 和 Host Name 这里的主机地址,点Save
c�]
@2p9\$a&^,n0
KQ"GH*D"R-u7Cks0如果在 Saved Sessions 这里和上面的 Hos

t Name 清空,点 Save 按钮,就可以把设置保存为默认设置。
2c,\k1w-j0

备份 PuTTY 的设置

用 PuTTY 最不爽的就是,它把所有的设置都保存到注册表了,本来这不是什么问题。但是难免会重装一下机器,用下面的命令可以备份 PuTTY 的所有设置LUPA开源社区:\E Li c)m

regedit /e PuTTY.config.reg "HKEY_CURRENT_USER\Software\SimonTatham\PuTTY"LUPA开源社区)X'} P_)}

删除 PuTTY 的设置

如果只是在其他机器上临时用了一个 PuTTY,用完以后想删除 PuTTY 的配置,就在控制台里输入如下的命令:
eLm-yoV)}B;R0

putty.exe -cleanup
@V7W(g xr"s0

用 PuTTYgen 来生成密钥,以后可以不用密码登录服务器了

PuTTYgen 是密钥生成器,用来生成一对公钥和私钥供 PuTTY、PSCP、Plink、Pagent 来使用。LUPA开源社区(HMu2zRyL5B
直接运行 PuTTYgen 可以看到如下的界面。LUPA开源社区I qMJu0Zm.X\!J

lJ(B@5J
_�x8}0点击 Generate 按钮就开始生成一个公钥和私钥对,生成完毕后,点下面的 Save private key 就可以把私钥保存起来,扩展名是 .ppk 的文件。LUPA开源社区!g?ii7v{ QY
Load 按钮可以把先前保存的私钥重新打开,然后做些修改,比如修改注释和私钥口令,或者把 PuTTY 格式的私钥转换为 OpenSSH 格式的。LUPA开源社区D|PA:c!}Y

开始用 PuTTYgen 创建密钥

单击 Generate 按钮,然后你会看到进度条上面有个提示“Please generate some radomness by moving the mouse over the blank area.”,意思就是让你用鼠标在空白区域随机移动。随着鼠标在空白区域的移动,进度条会一直走下去。停止移动鼠标,进度条也就停止了。那我们就移动鼠 标,直到进度条走满为止。LUPA开源社区z m/GiEI\S
LUPA开源社区,YXL2V#OG/Z
等进度条走完之后,会出现下面的界面LUPA开源社区F8z|:sm;u$tsi/HR B

gW1M{Fp0最上面那个大大的只读文本框里面是公钥,用来保存到 OpenSSH 的 authorized_keys 文件中,这个文件中的每一行都是一个公钥。默认情况下,这个文件位于 Linux 用户主目录的 .ssh/ 子目录中,如果文件和目录都不存在,可以直接创建。
Ff9f/gA0h[A]0但 是创建的文件、目录和用户主目录($HOME, $HOME/.ssh, $HOME/.ssh/authorized_keys)的权限有个限制就是对除了本帐户的其他所有帐户都要求是只读的,否则的话,即使公钥、私钥都匹配 无误,也是无法登入系统的。这是 SSH 服务器的一个安全要求,因为如果别的帐户可以修改你的 authorized_keys 的话,恶意的增加一个公钥,那对方不用你的帐户口令也能以你的帐户登入系统了。对于一些特殊要求,你可以在 SSH 服务器的配置文件 sshd_config 中用指令LUPA开源社区+H+h*KD/Z1}

StrictModes noLUPA开源社区hbm&O3~"T%VW

来取消这个限制。在 sshd_config 的帮助手册中可以看到

StrictModesLUPA开源社区RQO;FO7o0R?2`!x
            Specifies whether sshd should check file modes and ownership of
9hi\\WYtk0             the user’s files and home directory before accepting login.  This
^{'h~6d3MLW|0             is normally desirable because novices sometimes accidentallyLUPA开源社区}[8giG`$|t
            leave their directory or files world-writable.  The default is
y-]%t2Y6p+BD.UJ3cf0             “yes”.LUPA开源社区$i:d;l&B,p;QT3U/F

小技巧:每次修改 authorized_keys 这个文件时,你可以用如下的命令来修改,确保所有的文件属性和权限无误
Gl^"I+\?0

mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \
z;v iNTiEh0&& chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keysLUPA开源社区e"m s5W*f"m6t!_

还有一个要强调的是那个 Key comment,这是密钥的注释,一定要修改。因为这个密钥是给自己用的,所以最起码要输入自己的名字,用默认的注释很容易和其他人的密钥混淆的。如果担 心自己的密码忘记了,可以在后面加上密码提示,当然了,不要让别人用注释猜出你的密钥口令。比如,我可以把注释修改为LUPA开源社区2k'ma"o0O ~,x'N'Z

ChaiFeng [20061120] w.z.
Dg$\ p!~7L
l0

后面的 w.z. 就是我的密码提示,能猜出来么?呵呵
c sz$Eg
j0LUPA开源社区S[yt,c,^4}
输入注释,上面的公钥也会随之发生变化。LUPA开源社区a|'vHV`U
现在最重要的是,输入自己的密钥口令。就是 Key passphrase 和 Confirm passphrase 这个两个输入框。
jtUR3m|A0如果不输入口令,直接保存私钥会看到这个提示。为了安全起见还是输入口令吧,要不任何人得到这个私钥都可以不用口令登入系统了。LUPA开源社区 ?(i8B#Q b2{%Oz
LUPA开源社区q |a!RDuv
最后单击 Save private key 来保存私钥吧,保存到自己认为安全的地方,比如存放到私人的 USB 闪存盘上。需要登录时,插上 USB 闪存盘。登录完毕后就可以把 USB 闪存盘取下来,哈哈,这样子就比较安全了。
@#e.N.@ v2hI0大 家也注意到了,还有个 Save public key 按钮,这个是保存 SSH2 格式的公钥,有些 SSH 服务器要求用这种格式的公钥文件。一般情况下,我们是不需要的,所以这里也就保存了。以后还想的话,就用 PuTTYgen 把私钥 Load 出来,然后再保存也可以。LUPA开源社区-I b$\+VG

用密钥登录服务器的流程LUPA开源社区/U6[ L O8FHs�C

上面杂七杂八的说了一堆创建密钥时的事情,大家会不会已经有些乱了呢?我把这个过程再罗列一遍:
T
{B]f)S3\0

1. 如果没有公钥/密钥对,就用 PuTTYgen 创建一个,已经有了就可以忽略这一步。一个公钥/密钥对可以用在不同的服务器上,所以也不需要重复创建,关键要有足够强健的密码和安全的存放。

2. 象先前一样输入帐户名和口令登录到主机上。

3. 输入如下命令,来编辑 authorized_keys 文件LUPA开源社区$t[)S1}-i"?
mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys \LUPA开源社区uH9v%@F+]
&& chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys

4. 把LUPA开源社区{#y ^BF1cT
LUPA开源社区$r$M*O'x ^]5~r3aG
这个文本框里的公钥粘贴到 vim 中去,需要说明几点:这个文本框里的内容是一行的,粘贴到 vim 中时,别忘了按字母 o 这个键,否则的话,粘贴进去后,开头的 ssh-rsa 会变成 sh-rsa,为什么呢?哈哈,想想吧。LUPA开源社区.@-j Za`#i0q0U
为什么不按字母键 i 呢?这个在 vim 中不就是插入么?原因是我很懒,按字母 o,我可以节省一次按回车键。虽然按大写 O 也行,那我不是还得再按一下 Shift 键么?
,Juc0\;T%qK"M FY0别 忘了,在 PuTTY 中默认的粘贴可是按鼠标右键哦,然后按一下 ESC 键,然后输入 :wq 保存退出,等等,大家先别着急的输入 :wq,既然输入冒号还得按下 Shift 键,那我们就干脆直接两下大写的字母 Z,也就是 ZZ。怎么样?vim 也一样保存退出了吧。这次又节省了一次按键和两次寻找字母的移动,把懒得优良传统再一次在实践中发扬光大。LUPA开源社区L\2~P5G"E|8J%s

{)LkTd-bX'o/D0

5. 如果已经有了私钥,第4步里的那个公钥忘记保存了,就用 PuTTYgen 把这个私钥 Load 上去,然后重新复制一下公钥吧。

6. 在 PuTTY 的配置 Connection->SSH->Auth 这里面,指定上私钥,然后记得保存 Session,以后就不需要重复这一步了。LUPA开源社区;os4|ZFz+M3z
LUPA开源社区JPk
Ys,[NF

7. 最好也指定上自动登录的用户名,还记得这里吗?LUPA开源社区.L!AQ+i(^,k

8. 开始登录吧,这次你会看到一个不同于以往的登录提示LUPA开源社区%y!T,y m�]:x

}Y6MlJDr0w;F3R8Lx0现 在输入的口令可不是主机上这个账户的口令了,而是先前创建的这个密钥的口令。以后不管这个账户的口令是什么,即使再复杂,也和我们没关系了。只要这个账户 的 $HOME/.ssh/authorized_keys 文件中,有我们的公钥,我们就随时用匹配的私钥都可以登录了。配合后面提到的 Pagent,我们连输入密钥口令这一步也可以忽略过去。

9. 登录成功了,别忘了按 Ctrl+d 注销哦。LUPA开源社区L a/jp2{x b

以后这些步骤就不需要再重复了,只需要打开 PuTTY 后,双击一下保存的会话名称,输入密钥口令。
tG0ik:tn#t Gz0

Pagent 加载密钥,每次开机后只需要输入一次密钥口令

终于轮到 Pagent 出场了,双击一下 Pagent.exe,嗯,没反应?再双击一下,咦?出来个提示,说已经运行了。
4e vM$y4? ~,Gm-X__:g}0LUPA开源社区7K{8H&v6u2Z
看看右下角吧,在这里呢
B"F;u2N6a i!yY0LUPA开源社区wlo!C;\�F
双击一下 Pagent 的图标,出来这样一个界面。很简洁的,Add Key 是添加私钥,Remove Key 是把选中的私钥从 Pagent 中卸载了。LUPA开源社区v z mi(H:sX q

q1q/]Rc0好,现在单击 Add Key 按钮添加私钥,我把这个演示用的私钥保存到 C:\ 了
Blcjq$u0

Z�U*lU c ba'} ch0然后会出现输入密钥口令的对话框,输入正确的密钥后,单击 OK
M-WBw-bz0
LUPA开源社区k7p^0eW'Z`
这时,在 Pagent 的窗口中就能看到我们的私钥已经装载上去了。
$R GHN"D0

.f�fKBK0现在打开 PuTTY,选择先前保存的 Session,双击一下。只要自动登录用户名设置上,主机上改帐户的 authorized_keys 文件里也有匹配的公钥。哈哈,发现没有?完全不需要口令,我们已经登录到系统了。
#L.\zG8?~g^0在 Pagent 的图标上点右键,也可以快捷的选择已经保存的会话。
+b3V)fHB2H0
8plTj(jOM _G
q0`0建 议大家把 Pagent 放到启动组里面,这样每次一开机,Pagent 自动运行,然后我们只需要把私钥装载一下,然后我们就可以一直享受自动登录系统的乐趣了。再配合上以后会讲到的 Plink、PSCP 这些,我们可以实现很多工作的自动化进行。完全不需要每次输入用户名、口令、输入又长又多的命令,再做一些烦躁的文件备份,最后还得记得注销系统,难道不 觉得麻烦么?这一切烦恼很快就会远离我们了,继续往下看吧。
j B?em0

用 SSH 来传输文件

PuTTY 提供了两个文件传输工具LUPA开源社区;`2`0u2bPK-t1q6e

· PSCP (PuTTY Secure Copy client)

· PSFTP (PuTTY SFTP client)

PSCP 通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。LUPA开源社区d*nn"x1O:KJ
PSFTP 则是 SSH-2 中新增的特性,使用的是新的 SFTP 协议,使用上与传统的 FTP 类似。事实上 PSCP 如果发现 SFTP 可用,PSCP就会使用 SFTP 协议来传输文件,否则还是 SCP 协议。PSFTP 与 PSCP 相比,PSFTP 的优点是可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。而 PSCP 只能一次传输一个文件,传输完毕后立刻终止会话。
5Mb]�|�A0

PSCP 的使用

在控制台直接执行 pscp 可以看到帮助LUPA开源社区{ykaX,i Z9jl$i

C:\>pscpLUPA开源社区d6K:_G%Q^
PuTTY Secure Copy clientLUPA开源社区j z,q1a'n$}(M
Release 0.58LUPA开源社区I].p&qBH-LnU
Usage: pscp [options] [user@]host:source target
_W@-R^0       pscp [options] source [source...] [user@]host:targetLUPA开源社区q(AmEG0| H/d
      pscp [options] -ls [user@]host:filespec
a;jeVL0Options:LUPA开源社区2RT]"mr-Q8l9f
 -V        print version information and exit
3{(T,R
ybKb.dv_v0  -pgpfp    print PGP key fingerprints and exit
e�zC)~5?"S*sI0  -p        preserve file attributesLUPA开源社区q2p4O]"FJ#y)F?
 -q        quiet, don't show statistics

|bTV*}%\F0  -r        copy directories recursivelyLUPA开源社区"hB)v)I[[q
 -v        show verbose messages
0Sx S4cu#[A,YP d0  -load sessname  Load settings from saved sessionLUPA开源社区(P J:k8l9D)\/b+?
 -P port   connect to specified portLUPA开源社区/Rq~yK4r6^#i { Q7|
 -l user   connect with specified username
bC]z-H~z
d.E0  -pw passw login with specified password
0ytUx)y})z})q0  -1 -2     force use of particular SSH protocol version
DkI({"bn-P \2`Q0  -4 -6     force use of IPv4 or IPv6
#j'^2R3h)a^0  -C        enable compression
4S%zO*r8S0x&D0  -i key    private key file for authentication
d9N(]U%k Xf-k.e0  -batch    disable all interactive prompts
/Lp&o

转载于:https://blog.51cto.com/yixiang0817/1221342

windows远程登录linux方法之putty的使用相关推荐

  1. cygwin 远程连接linux,Cygwin解决Windows远程登录linux服务器

    <HelloGitHub月刊>第07期 最近工作上的事比较多,月刊第07期拖到月底才发. 本期月刊对logo和月刊的排版进行了优化,不知道大家的反馈如何,还望大家多多反馈,让 做一个会PS ...

  2. linux远程登录 密钥,使用密钥认证机制远程登录Linux

    密钥认证机制 创建存放key的文件 1)创建目录 /root/.ssh 并设置权限 [root@localhost ~]# mkdir /root/.ssh mkdir 命令用来创建目录,以后会详细介 ...

  3. SSH简介及两种远程登录的方法

    目录 SSH的安全机制 SSH的安装 启动服务器的SSH服务 SSH两种级别的远程登录 SSH的高级应用 Secure Shell(SSH) 是由 IETF(The Internet Engineer ...

  4. 13.远程登录 Linux

    13.远程登录 Linux 实验要求: 1. 使用远程登录工具PuTTY登录Linux虚拟机. 2. 使用VNC服务登录Linux虚拟机. 实验器材: 软件: 1. 安装了RHEL6的vmware虚拟 ...

  5. Windows远程登陆Linux桌面的方法(汇总大全)

    转自:http://blog.csdn.net/shaoguangleo/article/details/6589816 Windows远程登陆Linux桌面的方法 Putty 第一种:putty.其 ...

  6. Windows远程登陆Linux桌面的方法

    Windows远程登陆Linux桌面的方法 Putty 第一种:putty.其实这个工具并不是桌面客户端,它只不过是一个远程登陆Linux的命令提示工具,但是我们知道,在Linux中,命令基本上就是一 ...

  7. (转)Windows远程登陆Linux桌面的方法

    转载http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost& ...

  8. putty xming进入linux桌面,Xming PuTTY 远程登录linux桌面

    使用Xming + PuTTY远程登录linux gnome桌面 关于X window的原理,无须多讲,请看http://www.doczj.com/doc/191ffecb5fbfc77da269b ...

  9. linux创建新用户,以及windows通过xrdp远程登录Linux

    主要内容 一.linux创建新用户 1.打开终端 2.创建用户和密码 3.设置给予的权限 4.设置命令解释器 二.windows通过xrdp远程登录Linux 参考内容来源 一.linux创建新用户 ...

最新文章

  1. LeetCode 137. Single Number II--三次异或消除相同的数--C++,Python解法
  2. CES2018:英特尔披露量子计算和神经拟态计算研究最新进展
  3. win11什么时候发布的_2021年初级会计师考试大纲什么时候发布?
  4. android7.1+msm8937双MIC改为单MIC(晓龙相机录像声音小)
  5. cocos2d 屏幕適配_cocos2d-x 2.x屏幕适配基础
  6. 最后一周|高级转录组分析和R语言数据可视化第十二期 (线上线下同时开课)...
  7. Python中import导入模块
  8. android 相机和照片一起_Android相机开发(三): 实现拍照录像和查看
  9. 去oracle过程,记一次Oracle数据恢复过程
  10. java爬虫-2018国家统计局区划和城乡划分代码以及数据库、json文件
  11. 2021年阿里笔试题分享——大数相加(附源码)
  12. 网易云播放器外链插入html,Wordpress网易云外链音乐播放调用
  13. 面试官问你期望的工资是多少,怎么回答最好?
  14. VC++农历与公历转换
  15. 未能加载“xxx”程序集
  16. 曙光服务器通过ipmi安装系统,曙光服务器ipmi部署记录精编版
  17. 冷藏车的热计算机应用,基于CFD的冷链运输车辆车厢微环境动态模拟研究-计算机应用技术专业论文.docx...
  18. 博客篇-如何使用阿里云搭建网站
  19. vue仿淘宝京东商品多条件筛选(vue实现)
  20. virtualbox出现failed to attach usb,VERR_PDM_NO_USB_PORTS问题解决

热门文章

  1. 现在合适的正装才能使自己气场十足,气质自然更上一个层次
  2. 信用社考试计算机知识,信用社考试(计算机基础知识 六)
  3. java list compareto_java中的compareto方法以及LIst列表排序的详细介绍【转】
  4. ACM模式各种输入整理(C++)
  5. 小游戏渠道大盘点,不可错过的流量入口
  6. QuotaExceededError the quota has been exceeded --- Firefox 报错解决
  7. 中年失业在家,在家怎么可以赚钱?建议选择这三个利润大的行业
  8. 穷物格理之常用数据结构寻找
  9. 信息学奥赛一本通(c++):1168:大整数加法
  10. 牛逼哄哄的京东热数据探测框架-JD-hotkey !