[+]文章目录

我在 PuTTY 官方网站下载的,可是执行 PuTTY、Pagent、PuTTYgen 时总是出错,而命令行执行的这几个却没问题

这种情形我也碰到过,一个解决的办法就是去下载最新版,或许你碰巧下载的是旧版本。另外一个解决办法就是,创建三个扩展名为 .manifest 的文本文件,然后把这三个文件复制到 PuTTY 的目录中,文件内容分别如下:

把下面的内容复制到记事本中,文件名保存为:PAGEANT.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- This is present purely to make Visual Styles in XP work better.

     See 20020104174954.A12067@imsa.edu. -->

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

   type="win32"

   name="Pageant"

   version="0.0.0.0" processorArchitecture="x86"/>

   <dependency>

   <dependentAssembly>

        <!-- Load Common Controls 6 instead of 5 to get WinXP native-

             looking controls in the client area. -->

        <assemblyIdentity type="win32"

             name="Microsoft.Windows.Common-Controls"

             version="6.0.0.0"

             publicKeyToken="6595b64144ccf1df"

             language="*"

             processorArchitecture="x86"/>

   </dependentAssembly>

   </dependency>

</assembly>

 

把下面的内容复制到记事本中,文件名保存为:PUTTY.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- This is present purely to make Visual Styles in XP work better.

     See 20020104174954.A12067@imsa.edu. -->

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

   type="win32"

   name="PuTTY"

   version="0.0.0.0" processorArchitecture="x86"/>

   <dependency>

   <dependentAssembly>

        <!-- Load Common Controls 6 instead of 5 to get WinXP native-

             looking controls in the client area. -->

        <assemblyIdentity type="win32"

             name="Microsoft.Windows.Common-Controls"

             version="6.0.0.0"

             publicKeyToken="6595b64144ccf1df"

             language="*"

             processorArchitecture="x86"/>

   </dependentAssembly>

   </dependency>

</assembly>

把下面的内容复制到记事本中,文件名保存为:PUTTYGEN.exe.manifest

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!-- This is present purely to make Visual Styles in XP work better.

     See 20020104174954.A12067@imsa.edu. -->

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

   type="win32"

   name="PuTTYgen"

   version="0.0.0.0" processorArchitecture="x86"/>

   <dependency>

   <dependentAssembly>

        <!-- Load Common Controls 6 instead of 5 to get WinXP native-

             looking controls in the client area. -->

        <assemblyIdentity type="win32"

             name="Microsoft.Windows.Common-Controls"

             version="6.0.0.0"

             publicKeyToken="6595b64144ccf1df"

             language="*"

             processorArchitecture="x86"/>

   </dependentAssembly>

   </dependency>

</assembly>

屏幕输出太快了,怎么能暂停一下?

Ctrl+S 快捷键可以暂停终端,Ctrl+Q 恢复。

怎么翻页?

Shift+PageUp/PageDown 一页一页的翻,Ctrl+PageUp/PageDown 则是一行一行的。

不是说 PSCP 一次只能传输一个文件么?为什么我发现能传输很多个?

那是因为 PSCP 发现 SFTP 协议可用,优先使用 SFTP 协议来传输文件

为什么执行了 pscp、psftp、plink 这些命令总是说错误的命令呢?

应该把 PuTTY 所在的路径添加到 PATH 环境变量中。你可以编辑 c:\autoexec.bat 这个文件,在最后增加一行,把 c:\path\to\putty 换成你的真实路径

set PATH=c:\path\to\putty;%PATH%在登录的时候出现 "Proxy error: 407 Proxy authorization require" 的错误提示

这 是因为配置的代理服务器需要认证,而我们没有填写正确的用户名或口令。如果用户名填写的是类似 DOMAIN/username 的形式,可以尝试把 DOMAIN/ 去掉,仅仅填写 username 再试一试,还有一种可能性就是代理服务器禁止我们访问 22 目标端口。

每次开机后我都要先打开 Pagent,然后再添加我的私钥,还要输入私钥密码,太麻烦了,有没有简单一点的办法呢?

很 遗憾,比较轻松的办法就是把 Pagent 和 .ppk 文件关联,然后在开始的启动项里添加一个私钥的快捷方式,这样开机后我们只需要输入一下密码就OK了。如果想把输入密码也省掉,唉唉唉,怎么比我还懒呢? 如果你的私钥密码真的是很长很长,那你还是借助第三方工具吧,建议用 KeePass 吧,KeePass 可以用命令行启动省掉输入密码和选择 keyfile 的麻烦。

我希望下次登录服务器的时候,还是能看到这次登录的界面,也就是说可不可以像 Firefox 那样保存 PuTTY 登录的会话呢?

这个问题很多人都会遇到,比如在进行一个长时间的数据处理,而且还不能放到后台执行。这时是不能关闭 PuTTY 的,万一网络状况不好突然断掉,或者是自己的机器死机必须重启,那我们难道只能眼巴巴的看着就要完成的工作付之东流?

当然这些事情是可以避免的,只不过这个功能是通过 GNU Screen 来实现的。GNU Screen 是一个终端窗口管理器,只不过管理的是终端界面,也就是纯文本的界面,而非图形界面。再稍微专业一些的说法就是:用一个物理终端模拟了多个虚拟终端。

如何安装 GNU Screen 这里就不说了,单说用 PuTTY 如何方便的去使用 GNU Screen。参考一下前面提到的如何自动执行一个命令在 Remote Command 这个里面填写如下命令:

screen -RD然后保存会话,登录。嗯,接下来你会发现什么呢?当然是命令提示符了,然后 ls 一下,一切正常啊,GNU Screen 呢?看到了没?其实我们已经在 Gnu Screen 里面了,在有的系统上,你会看到 PuTTY 的标题已经变成了 screen,有的显示的就是主机名,不管怎样,我们已经运行在 GNU Screen 里面了。如果你发现 PuTTY 是一闪而过,没有登录上去,那估计就是 GNU Screen 没有安装成功。

在 GNU Screen 中的每一个终端窗口都有一个编号,编号从 0 开始,再创建一个终端窗口,编号就是 1 了,以此类推。

下面简述一下 GNU Screen 的最经常使用的快捷键:

  1. 关闭 GNU Screen:Ctrl+a,然后 d,下面就用 C-a d 来表示了。或者 Ctrl+a Ctrl+d,下面就用 C-a C-d 来表示。放心这个只是关闭了窗口,里面的程序还都正常的运行,下次用命令 screen -RD 又都可以看到了。
  2. 再打开一个新的终端窗口:C-a c 或者 C-a C-c
  3. 切换到下一个终端窗口:C-a n 或者 C-a C-n
  4. 切换到前一个终端窗口:C-a p 或者 C-a C-p
  5. 切换到 0 号终端窗口:C-a 0 或者 C-a C-0
  6. 切换到 8 号终端窗口:C-a 8 或者 C-a C-8
  7. 快速切换到上一个打开的终端窗口:C-a C-a。这个需要稍微解释一下,比如现在我们在第 7 号终端窗口,按快捷键 C-a 2 切换到了 2 号终端窗口。要想再回到 7 号终端窗口,一个办法就是 C-a 7,另外一个办法就是 C-a C-a。
  8. 给运行在终端窗口的程序发送 ^a:C-a a,因为 GNU Screen 的所有快捷键都是以 C-a 开始,所以要给程序发送 ^a 就是这个方法了。
  9. 黑屏:C-a -。这个作用就类似屏保了,万一有些程序不方便让别人看到,切换到其他终端窗口也不合适,那就这个了,当然创建一个新的终端窗口也可以。
  10. 滚屏:C-a [ 或者 C-a C-[ 或者 C-a esc。然后用 PageUp/PageDown 就可以翻页了,再次按下 esc 就退出滚屏模式了,这个模式也是 copy 模式,这里就不细说了。

这里只是列出了常用的操作,还有很多强大的操作以及配置,大家 man screen 吧。


« 前一篇