putty使用方法 联系客服

发布时间 : 星期二 文章putty使用方法更新完毕开始阅读c3dbc5d3240c844769eaeeba

这时,在 Pagent 的窗口中就能看到我们的私钥已经装载上去了。

现在打开 PuTTY,选择先前保存的 Session,双击一下。只要自动登录用户名设置上,主机上改帐户的 authorized_keys 文件里也有匹配的公钥。哈哈,发现没有?完全不需要口令,我们已经登录到系统了。

在 Pagent 的图标上点右键,也可以快捷的选择已经保存的会话。

建议大家把 Pagent 放到启动组里面,这样每次一开机,Pagent 自动运行,然后我们只需要把私钥装载一下,然后我们就可以一直享受自动登录系统的乐趣了。再配合上以后会讲到的 Plink、PSCP 这些,我们可以实现很多工作的自动化进行。完全不需要每次输入用户名、口令、输入又长又多的命令,再做一些烦躁的文件备份,最后还得记得注销系统,难道不觉得麻烦么?这一切烦恼很快就会远离我们了,继续往下看吧。

用 SSH 来传输文件

PuTTY 提供了两个文件传输工具

? ?

PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client)

PSCP 通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。

PSFTP 则是 SSH-2 中新增的特性,使用的是新的 SFTP 协议,使用上与传统的 FTP 类似。事实上 PSCP 如果发现 SFTP 可用,PSCP就会使用 SFTP 协议来传输文件,否则还是 SCP 协议。PSFTP 与 PSCP 相比,PSFTP 的优点是可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。而 PSCP 只能一次传输一个文件,传输完毕后立刻终止会话。

PSCP 的使用

在控制台直接执行 pscp 可以看到帮助 C:>pscp

PuTTY Secure Copy client Release 0.58

Usage: pscp [options] [user@]host:source target

pscp [options] source [source...] [user@]host:target pscp [options] -ls [user@]host:filespec Options:

-V print version information and exit -pgpfp print PGP key fingerprints and exit -p preserve file attributes -q quiet, don't show statistics -r copy directories recursively -v show verbose messages

-load sessname Load settings from saved session -P port connect to specified port -l user connect with specified username -pw passw login with specified password

-1 -2 force use of particular SSH protocol version -4 -6 force use of IPv4 or IPv6 -C enable compression

-i key private key file for authentication -batch disable all interactive prompts

-unsafe allow server-side wildcards (DANGEROUS) -sftp force use of SFTP protocol -scp force use of SCP protocol C:>

可以看出 PSCP 的使用是很简单的,把常用的几个选项说一下:

? ? ? ? ? ?

-q 安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的

-P port 指定服务器的 SSH 端口,注意这个是大写字母 P,默认是 -P 22,如果主机的 SSH 端口就是 22,就不用指定了

-l user 指定以哪个用户的身份登录主机,如果没有指定,则 PSCP 会在 PuTTY 保存的同名 Session 中获得默认的用户名称。用户名称也可以和主机名称写在一起,用 @ 分割开,比如:username@server -pw passwd 指定登录时所用的口令为 passwd -i keyfile 就是指定登录时所用的密钥文件

最后面指定的主机名也可以是 PuTTY 中保存的 Session 名称。比如我们在 PuTTY 中保存了一个名为 foobarserver 的会话,而我们所在的网络又的确没有名为 foobarserver 的主机名称。而在这个 foobarserver 会话中保存的主机名称是 demo-server,保存的自动登录的用户是 taylor。那么用命令

pscp c:autoexec.bat foobarserver:backup/

就把本地的 c:autoexec.bat 复制到了主机 demo-server 上的用户 taylor 所在的主目录下的 backup 子目录中(这个路径可能是 /home/taylor/backup

所以 PSCP 大致用法的例子就是:

pscp -P 22 -i c:pathyour-private-key.ppk -C username@server:/remote/path/ 下面还是用一些实例来说明会比较简单一些:

把本地的 C:pathfoo.txt 复制到远程主机 192.168.6.200 的 /tmp 目录下

pscp c:pathfoo.txt 192.168.6.200:/tmp

把本地的 C:pathfoo.txt 复制到主机 192.168.6.200 的 /tmp 目录下,但是以主机上的用户 taylor 的权限执行

pscp c:pathfoo.txt taylor@192.168.6.200:/tmp 或者是

pscp -l taylor c:pathfoo.txt 192.168.6.200:/tmp

把本地的 C:pathfoo.txt 传送到主机 192.168.6.200 的 /tmp 目录下,但是主机的 SSH 端口是 3122

pscp -P 3122 c:pathfoo.txt 192.168.6.200:/tmp

把本地的 C:pathfoo.txt 复制到主机 192.168.6.200 的用户 taylor 的主目录下

pscp c:pathfoo.txt taylor@192.168.6.200:.

把主机 192.168.6.200 上的用户 taylor 主目录下的所有 *.tgz 文件拷贝到本地的 c:backup 目录中,如果 SSH 版本是 SSH v1,那这个命令就会出错。

pscp taylor@192.168.6.200:*.tgz c:backup

再来看看 PSFTP

在控制台执行命令 psftp -h,可以得到 psftp 的帮助

C:>psftp -h

PuTTY Secure File Transfer (SFTP) client Release 0.58

Usage: psftp [options] [user@]host Options:

-V print version information and exit -pgpfp print PGP key fingerprints and exit -b file use specified batchfile -bc output batchfile commands

-be don't stop batchfile processing if errors -v show verbose messages

-load sessname Load settings from saved session -l user connect with specified username -P port connect to specified port -pw passw login with specified password