其他可选的 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是一款非常流行的远程连接工具,支持多种协议(包括SSH、Telnet、Serial等),广泛应用于网络管理员和技术人员之间进行远程管理和操作。本文将详细...
好好学习putty详细使用教程,能帮助你进一步了解
PuTTY_中文教程_柴锋版2012年更新,快速掌握很不错的文档
putty强大的远程登陆功能 putty中文教程,轻松从windows登陆linux虚拟机或 其它主机
putty中文教程参考.pdf
总之,PuTTY中文教程详尽地涵盖了从基础操作到高级特性的各个方面,旨在帮助用户充分利用这款强大的远程连接工具,无论是在日常开发、系统管理还是网络调试中,都能得心应手。教程的持续更新也反映了作者对社区反馈...
PuTTY 中文教程 PuTTY 是一个跨平台的远程登录工具,包含了一组程序,包括 PuTTY (Telnet 和 SSH 客户端)、PSCP (SCP 客户端)、PSFTP (SFTP 的命令行客户端)、PuTTYtel (仅仅是一个 Telnet 客户端)、Plink (命令行...
putty使用教程.zip
PuTTY 全中文教程 PuTTY 是一个跨平台的远程登录工具,包含了一组程序,包括 PuTTY、PSCP、PSFTP、PuTTYtel、Plink、Pageant 和 PuTTYgen。PuTTY 是一个准绿色软件,可以直接使用,不需要安装。 一、PuTTY 的基本...
PuTTY 工具的使用教程 PuTTY 是一个流行的远程登录工具,它允许用户连接到远程服务器,执行命令和管理远程系统。在这个教程中,我们将介绍如何使用 PuTTY 工具连接到远程服务器,并进行基本的操作。 首先,需要...
PuTTY中文版是一款深受广大系统管理员和开发者喜爱的开源远程登录工具,主要功能是通过SSH(Secure Shell)、Telnet和Rlogin等协议实现对远程主机的访问和控制。这款软件体积小巧,无需安装,便于携带和使用,尤其...
PuTTY 0.70 中文版 更新日志:2017-07-17 安全修复:Windows PuTTY二进制文件不再容易受到特定命名的DLL在同一个目录中的劫持; Windows PuTTY再次支持打印; Windows PuTTY接受当前代码页之外的键盘输入。
在本篇文章中,我们将详细介绍PuTTY中文版的特性、用途以及如何下载和使用。 **PuTTY中文版的特性:** 1. **多协议支持**:PuTTY不仅支持Secure Shell (SSH) 协议,还支持Telnet、Rlogin和Serial等其他网络协议,...
PuTTY中文绿色版则是针对中文用户特别优化的版本,具有以下特点: 1. **语言支持**:PuTTY中文绿色版内置了中文界面,对于中国用户来说,这极大地降低了使用门槛,使得操作更加直观易懂。 2. **绿色便携**:绿色版...
不用多说吧!putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版putty中文版