`
shuai1234
  • 浏览: 971885 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

精彩PuTTY 中文教程2

阅读更多

 

其他可选的 SFTP 客户端

FileZilla : [url]http://filezilla.sf.net[/url]
WinSCP : [url]http://www.winscp.net[/url]

用 Plink 更方便快捷的执行远程主机上的命令

Plink 是 PuTTY 的命令行连接工具,主要用于自动化工作的处理。
直接在控制台执行 plink,可以看到 Plink 的帮助

C:\>plink
PuTTY Link: command-line connection utility
Release 0.58
Usage: plink [options] [user@]host [command]
       ("host" can also be a PuTTY saved session name)
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol
  -P port   connect to specified port
  -l user   connect with specified username
  -batch    disable all interactive prompts
The following options only apply to SSH connections:
  -pw passw login with specified password
  -D [listen-IP:]listen-port
            Dynamic SOCKS-based port forwarding
  -L [listen-IP:]listen-port:host:port
            Forward local port to remote address
  -R [listen-IP:]listen-port:host:port
            Forward remote port to local address
  -X -x     enable / disable X11 forwarding
  -A -a     enable / disable agent forwarding
  -t -T     enable / disable pty allocation
  -1 -2     force use of particular protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for authentication
  -m file   read remote command(s) from file
  -s        remote command is an SSH subsystem (SSH-2 only)
  -N        don't start a shell/command (SSH-2 only)

C:\>

看上去 Plink 的使用方法、参数与PSCP、PSFTP都很类似。

  • -P port 指定服务器的 SSH 端口,注意这个是大写字母 P,默认是 -P 22,如果主机的 SSH 端口就是 22,就不用指定了
  • -l user 指定以哪个用户的身份登录主机,如果没有指定,则 PSCP 会在 PuTTY 保存的同名 Session 中获得默认的用户名称。用户名称也可以和主机名称写在一起,用 @ 分割开,比如:username@server
  • -pw passwd 指定登录时所用的口令为 passwd
  • -i keyfile 就是指定登录时所用的密钥文件
  • -m file 如果执行的命令很多的话,可以把命令写到文件中,然后用这个参数来指定

还是用一些实际的例子来说明一下 Plink 吧
还记得前面说到 PuTTY 的自动执行命令那个配置么?在说到那个配置的时候,我们演示了一个简单的 Tomcat 重新启动的命令,这个命令是要写在 PuTTY 的 Remote command 里面去。现在我们用 Plink 来实现同样的功能:
假设连接的主机是 192.168.6.200,SSH 的端口是 3022,用户是 taylor:

plink -P 3022 taylor@192.168.6.200 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

如果在 PuTTY 中保存了一个名为 192.168.6.200 的会话,注意,这个会话的名称与主机 IP 一样,在会话中已经正确保存了端口 3022,指定了默认的用户是 taylor,现在这个命令就可以简化为:

plink 192.168.6.200 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

用 date 命令查看一下主机上的时间,并且格式化输出:

plink 192.168.6.200 date "+%F %T"

大家实际执行一下命令看看,会发现,这个命令并没有返回我们期望的结果,而是返回了一个错误:

C:\>plink 192.168.6.200 date "+%F %T"
date: too many non-option arguments: %T
Try `date --help' for more information.

可是在服务器上直接执行命令 date "+%F %T",的确是正确无误的,哪里出了问题呢?这是因为Windows的控制台会把两个双引号之间的字符串作为一个参数传递给被执行的程序,而不会把双引号也传递给程序。我们做这样一个小小的实验来说明一下这个问题:
比如在 c:\tmp 文件夹里建立三个文件夹,名称分别为:"foo"、"bar"、"foo bar"。然后在 foo 这个文件夹里面建立一个名为“foo.log”的空文件,在“bar”这个文件夹里建立一个名为“bar.log”的空文件,在“foo bar”这个文件夹里建立一个名为“foo-bar.log”的空文件。
然后在控制台下进入 c:\tmp 这个文件夹,执行如下命令:

dir foo bar

结果是列出“foo bar”这个文件夹里的内容,还是分别列出“foo”和“bar”文件夹里的东西呢?正确答案是后者。
要想正确列出“foo bar”文件夹里的东西,就需要用双引号把"foo bar"引起来

C:\tmp>dir foo bar
 Volume in drive C is System
 Volume Serial Number is 9C51-A51C

 Directory of C:\tmp\foo

2006-11-22  09:48    <DIR>          .
2006-11-22  09:48    <DIR>          ..
2006-11-16  11:58                 0 foo.log
               1 File(s)              0 bytes

 Directory of C:\tmp\bar

2006-11-22  09:48    <DIR>          .
2006-11-22  09:48    <DIR>          ..
2006-11-16  11:58                 0 bar.log
               1 File(s)              0 bytes
               2 Dir(s)   1,107,345,408 bytes free

C:\tmp>dir "foo bar"
 Volume in drive C is System
 Volume Serial Number is 9C51-A51C

 Directory of C:\tmp\foo bar

2006-11-22  09:48    <DIR>          .
2006-11-22  09:48    <DIR>          ..
2006-11-16  11:58                 0 foo-bar.log
               1 File(s)              0 bytes
               2 Dir(s)   1,107,345,408 bytes free

C:\tmp>

说到这里,就会明白上面的那个命令 plink 192.168.6.200 date "+%F %T" 其实在主机上执行的真实命令是 date +%F %T,而不是命令行中指定的 date "+%F %T"。不过还好,Windows 的控制台可不认得单引号,所以上面那个命令的正确用法应该是:

c:\>plink 192.168.6.200 date '+%F %T'
2006-11-22 09:39:57

我经常需要登录到服务器上把 ADSL 重新拨号,可以把下面的命令写到一个文本文件中,比如保存到了 C:\adsl-restart.command.txt

echo "stoping..."
/sbin/adsl-stop
echo "starting..."
/sbin/adsl-start
echo "done."
/sbin/adsl-status

然后执行如下命令:

plink -m c:\adsl-restart.command.txt root@192.168.6.251

我经常要查看 Tomcat 的运行日志

plink taylor@192.168.6.200 tail -f ~/apache-tomcat-5.5.17/logs/catalina.out

每天都要看服务器上的剩余空间,就用这个命令:

plink taylor@192.168.6.200 df -k

假设 [url]www.chaifeng.com[/url] 连接着另外一个网段 10.204.26.0,有台内网IP 为 10.204.26.21 的 Solaris 8主机只能用 telnet 登录,为了防止被监听,我们可以用 Plink 建立一个隧道,隧道开放 120 秒钟,如果隧道没有被使用,就自动断开连接,然后我们在本地就可以用命令 telnet localhost 2623 的安全登录那台 Solaris 8 主机了。

plink -L 2623:10.204.26.21:23 [url]www.chaifeng.com[/url] sleep 120

在主机 [url]www.chaifeng.com[/url] 上正在运行着 tor,默认的监听地址是 127.0.0.1:9050,用 Plink 建立一个隧道,然后浏览器上配置代理服务器为 127.0.0.1,端口是 9050,这样就能够安全的使用 tor 代理了,不用担心从我们的机器到主机 [url]www.chaifeng.com[/url] 有被监听的可能了。

plink -C -N -L 9050:127.0.0.1:9050 taylor@[url]www.chaifeng.com[/url]

结合上 PSCP 我们还可以完成文件的每天备份

plink taylor@192.168.6.200 tar jcf $(date '+documents.%F.tar.bz2') ~/documents
pscp taylor@192.168.6.200:$(date '+do
分享到:
评论

相关推荐

    putty精彩教程 端口 映射 tunnels 教程

    ### PuTTY精彩教程:端口映射与Tunnels 教程 #### 一、概述 PuTTY是一款非常流行的远程连接工具,支持多种协议(包括SSH、Telnet、Serial等),广泛应用于网络管理员和技术人员之间进行远程管理和操作。本文将详细...

    putty详细使用教程

    好好学习putty详细使用教程,能帮助你进一步了解

    PuTTY中文教程

    PuTTY_中文教程_柴锋版2012年更新,快速掌握很不错的文档

    putty中文教程(远程登陆ssh/telnet)

    putty强大的远程登陆功能 putty中文教程,轻松从windows登陆linux虚拟机或 其它主机

    putty中文教程参考.pdf

    putty中文教程参考.pdf

    PuTTY 中文教程.docx

    总之,PuTTY中文教程详尽地涵盖了从基础操作到高级特性的各个方面,旨在帮助用户充分利用这款强大的远程连接工具,无论是在日常开发、系统管理还是网络调试中,都能得心应手。教程的持续更新也反映了作者对社区反馈...

    putty中文教程.pdf

    PuTTY 中文教程 PuTTY 是一个跨平台的远程登录工具,包含了一组程序,包括 PuTTY (Telnet 和 SSH 客户端)、PSCP (SCP 客户端)、PSFTP (SFTP 的命令行客户端)、PuTTYtel (仅仅是一个 Telnet 客户端)、Plink (命令行...

    putty使用教程.zip

    putty使用教程.zip

    PUTTY全中文教程,不会用的速度下啊。

    PuTTY 全中文教程 PuTTY 是一个跨平台的远程登录工具,包含了一组程序,包括 PuTTY、PSCP、PSFTP、PuTTYtel、Plink、Pageant 和 PuTTYgen。PuTTY 是一个准绿色软件,可以直接使用,不需要安装。 一、PuTTY 的基本...

    【TTL工具】putty跑码中文版-使用教程.docx

    PuTTY 工具的使用教程 PuTTY 是一个流行的远程登录工具,它允许用户连接到远程服务器,执行命令和管理远程系统。在这个教程中,我们将介绍如何使用 PuTTY 工具连接到远程服务器,并进行基本的操作。 首先,需要...

    putty.zip PuTTY中文版

    PuTTY中文版是一款深受广大系统管理员和开发者喜爱的开源远程登录工具,主要功能是通过SSH(Secure Shell)、Telnet和Rlogin等协议实现对远程主机的访问和控制。这款软件体积小巧,无需安装,便于携带和使用,尤其...

    PuTTY 0.70 中文版

    PuTTY 0.70 中文版 更新日志:2017-07-17 安全修复:Windows PuTTY二进制文件不再容易受到特定命名的DLL在同一个目录中的劫持; Windows PuTTY再次支持打印; Windows PuTTY接受当前代码页之外的键盘输入。

    putty中文版下载

    在本篇文章中,我们将详细介绍PuTTY中文版的特性、用途以及如何下载和使用。 **PuTTY中文版的特性:** 1. **多协议支持**:PuTTY不仅支持Secure Shell (SSH) 协议,还支持Telnet、Rlogin和Serial等其他网络协议,...

    putty中文绿色版

    PuTTY中文绿色版则是针对中文用户特别优化的版本,具有以下特点: 1. **语言支持**:PuTTY中文绿色版内置了中文界面,对于中国用户来说,这极大地降低了使用门槛,使得操作更加直观易懂。 2. **绿色便携**:绿色版...

    putty中文版putty中文版putty中文版

    不用多说吧!putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版

Global site tag (gtag.js) - Google Analytics