Windows下OPENSSH服务器巧登录(上)
【IT168 专稿】Windows系统下的SSH客户端相当多,其中某些属于商业化软件,其余则是免费软件或共享软件,当然也有OpenSSH这样的开放源代码软件。虽然其中有些软件属于Unix模拟器外壳的一部分,仍然是命令行方式的客户端,但是大部分都已经配合Windows系统开发出了图形界面。在这些带有图形界面的免费软件中, PuTTY支持SSH 外壳。
在看过上面有关Linux下OpenSSH客户端的使用方法后,你会发现带有图形界面的PuTTY在配置和使用上都方便易懂了许多。Windows下的OpenSSH,也被称作OpenSSH for Windows ,同样支持端口设定。
一、 PUTTY 软件族
1. putty
Windows环境下的putty工具目前使用得相当普遍,可以从网上免费下载。官方网站:http://www.chiark.greenend.org.uk/~sgtatham/putty/ ;目前网上的最新版本为: putty 0.58,对该版本进行安装后,Putty是一个免费的Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的类工具。用它来远程管理Linux十分好用,其主要优点如下:
- 完全免费;
- 在Windows 9x/NT/2000下运行的都非常好;
- 全面支持ssh1和ssh2;
- 绿色软件,无需安装,下载后在桌面建个快捷方式即可使用;
- 操作简单,所有的操作都在一个控制面板中实现。
(1) 应用入门
以 windows 2000为例,其他 windows 操作系统依此类推。
启动 putty,屏幕上将弹出图1所示窗口
![]() |
| 图1 putty配置窗口 |
在"Host Name (or IP address)"栏中填入OPENSSH的IP地址或者域名,选择SSH方式登录确保22端口点击右下角的"Open"即可。见图2 。
![]() |
| 图2 putty登录配置窗口 |
首次登录界面设定
第一次使用 PuTTY 来连接远程服务器, PuTTY 会出现一询问对话框,问你是否要将远程服务器的公钥 ( 为了避免远程机器被仿冒,每台 SSH 服务器均有不同的公钥 ) 储存在本地计算机的登录文件中,若要继续联机,请按下"是"按钮,见图3。
![]() |
| 图3 首次登录界面设定 |
登录过程界面截图见图4 。
![]() |
| 图4 登录过程截图 |
说明:首先输入使用者名称 (若输入错误,无法更改,请重新开启 PuTTY会话) 然后输入密码即可完成连接。
(2) 应用进阶
使用Putty保存地址信息
打开Putty的Session 配置窗口中,在"Saved Sessions"栏中敲入您希望保存地址的名字,然后在"Host Name ( or IP address )"栏中敲入您欲保存的真实地址或域名。点击"Save"后,即可将该地址保存在"Saved Sessions"下的列表中。您需要连接该地址时,只需双击它即可。见图5 。
![]() |
| 图5 Session窗口中保存地址信息 |
使用Putty延长连接后的在线时间
启动Putty,弹出"Putty Configuration"窗口。点击窗口左侧的"Connection",切换至如图 6窗口。
![]() |
| 图6 延长在线后连接时间 |
在"Seconds between keepalives (0 to turn off)"后添加整数n(n大于等于1)。该栏目表示Putty将每隔n秒向服务器端发送一次空信息,表明其还在线,防止服务端自动切绝与自己的连接。我们推荐n=150。
命令行使用putty
笔者是系统管理员更加喜欢命令行方式:
[开始] -> [执行] -> 键入 cmd。
输入后即会出现一命令提示列窗口,将目录转移到 PuTTY 所在的目录。 命令格式:
putty.exe [options] [user@]host
其中, [options] 代表选项,其有以下选择以及其代表意义见表-1。
![]() |
(3) 高级应用
配置SSH客户端的自动登录
在上面介绍的SSH客户端的使用过程中,用户每次登录服务器都需要输入密码,这对于用户来说未免有些麻烦。由于SSH充分使用了密钥机制,那么就可以通过一定的系统配置,而达到一次配置,以后都不用输入密码,方便登录的目的,下面以Windows2000的客户端为例,说明如何对SSH客户端的自动登录进行配置。 使用putty工具套件自带的puttygen工具,来产生公钥/私钥对来实现。
a.生成公钥/私钥对
打开puttygen工具,准备生成公钥/私钥对,SSH 版本以及公钥的公钥如图7所示。
![]() |
| 图7准备生成公钥/私钥对 |
b.单击Generate按钮,则进入公钥/私钥生成界面,用户需要在界面空白处不断地移动鼠标,以保证钥匙生成的随机性能,见图8 。
![]() |
| 图8生成公钥/私钥对过程 |
c.存储公钥/私钥
产生完后,可更改公钥的备注,另外请任意输入自己不易忘记的句子,做为启动私钥的通行码之用,之后将私钥储存在安全的地方,如图9所示。

图9存储公钥/私钥
应用说明:
生成之公钥的算法: SSH 1 协议仅能使用 RSA 做为生成公钥的算法,而 SSH 2 协议能够支持 RSA 以及 DSA 两种算法。PuTTY 的作者强烈建议使用者使用 RSA 来生成公钥,因为 DSA 有一些设计不良的地方,可能会导致是用者的私钥被有心人士窃听,倘若非要使用 DSA 时,也请不要在每台远程伺服机使用同样的公钥。
公钥的长度:长度越长,相对而言,也就更为安全,但对于大部分的情况之下, 1024 bit 已经很足够。
保存私钥: 当储存私钥至本地计算机时,若没有输入通行码 (passphrase) ,则私钥不会再被加密,意指任何人若取得此私钥则对方将听行无阻。若在储存之际,有事先输入自己熟记的一串通行码,则就算私钥被拿走,对方也无法取用其中的内容。请记住你的通行码,它并无法经由其它方式取得它。
关于兼容性的问题:大部分的 SSH 1 client 使用标准定义的私钥, PuTTY 也是依照标准来执行,所以不会有与其它的 SSH client 相冲突。 然而 SSH 2 的私钥并没有一个标准的格式,所以任一套软件生成的公钥无法立刻在其它软件上执行。
d. 完成公钥分发
上传密匙 用自己的帐号登录远程系统,然后执行下面的命令:
cd ~
mkdir .ssh
chmod 700 .ssh
cat id_rsa1.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
设置Putty 启动Putty,设置好session的各项参数。点击 Browse 按钮,选择 id_rsa1.prv 文件,见图10。
![]() |
| 图10完成公钥分发 |
然后点击Open 按钮就可以登录了。如果上面的操作都没有问题,那这时应该就自动登录了,无需输入密码。 正常情况下会显示如下:
![]() |
| 图11 自动登录过程 |
e.使用SSH 认证通行码的代理程序
每次登陆服务器新开一个putty终端的时候都要输入passphrase实在是很麻烦,不使用passphrase又不是很安全。我们需要借助putty程序组中的pageant.exe工具来解决这个问题。运行pageant.exe程序,该程序在系统托盘中创建一个小图标,在该图标上左键双击弹出Add key界面,从该界面中点选Add Key按钮,或者在托盘中的pageant小图标上单击右键弹出浮动菜单后选择Add Key菜单。见图12 。此时界面上弹出一个文件选择框,选择保存在本地的私有密匙文件,这时弹出消息框提示输入该密匙的passphrase,正确输入后该私匙加入到ageant的管理下。回到前面的putty程序中,运行了pageant并加入了密匙之后,在putty界面的Session下点选相应的Session的Open按钮,就再也不用要求输入passphrase了。而在完成工作后关闭pageant的运行,又可以保证私匙的安全性。
![]() |
| 图12使用SSH 认证通行码的代理程序 |
2.其他软件包
PUTTY实际包括一组软件共6个。其中使用最多的是putty.exe ,现在就开始介绍 PuTTY 所提供的其它各项软件及其功能。
PSCP :提供 SCP client 的功能(安全加密的网络档案拷贝,使用命令提示列)。
PSFTP :提供 PSFTP client 的功能。
PuTTYtel :PuTTYtel 软件是 PuTTY 的简化版本,它仅少了 SSH 联机功能,其它的功能以及操作接口都与 PuTTY 相同。
Plink :提供 SSH client ,使用命令提示列。
Pageant :SSH 认证通行码的代理程序。
PuTTYgen :提供产生RSA金钥的工具。
到此为止我们已经介绍如何使用windows的客户端Putty安全登录OPENSSH服务器。下篇文章将介绍其他常用登录软件,敬请关注。