putty之pscp命令详解.docx
- 文档编号:4714357
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:17
- 大小:238.53KB
putty之pscp命令详解.docx
《putty之pscp命令详解.docx》由会员分享,可在线阅读,更多相关《putty之pscp命令详解.docx(17页珍藏版)》请在冰豆网上搜索。
putty之pscp命令详解
pscp是putty安装包(免费)所带的远程文件传输工具,使用和Linux下scp命令相似,具体的使用方法如下:
C:
\DocumentsandSettings\Think\桌面\常用资源\PuTTY-v0.60>PSCP.EXE
PuTTYSecureCopyclient
Release0.60
Usage:
pscp[options][user@]host:
sourcetarget
pscp[options]source[source...][user@]host:
target
pscp[options]-ls[user@]host:
filespec
Options:
-V打印版本信息并退出
-pgpfp打印PGPkey指纹并退出
-p保留文件属性
-q不要显示统计数据
-r递归拷贝目录
-v显示冗余信息
-loadsessname加载保存好的会话设置
-Pport指定端口(默认22)
-luser指定用户名连接
-pwpassw显式的输入用户密码
-1-2强制使用指定SSH协议版本
-4-6强制使用IPv4或IPv6
-C使用压缩
-ikey认证所需要的私有密钥文件
-noagent不使用Pageant
-agent使用Pageant
-batch禁用所有交互提示
-unsafe允许服务器段的通配符(危险的)
-sftp强制使用SFTP协议
-scp强制使用SCP协议
--------------------------------------------------------------------------------
用法:
1、把本地文件file传输到Linux服务器的/root/
C:
\>pscp.exefileXXX.XXX.XXX.XXX:
/root/
它会提示你输入密码,就像Linux下使用scp那样。
【注意】这里pscp会使用你Windows登陆的用户名,因此你可能需要指定Linux用户名。
C:
\>pscp.exefileroot@XXX.XXX.XXX.XXX:
/root/
或者
C:
\>pscp.exe-lrootfileXXX.XXX.XXX.XXX:
/root/
【注意】这里"-lroot"要在file之前
2、把本地目录dir、文件file传输到Linux服务器的/root/,并指定服务器端口2009
C:
\>pscp.exe-P2009-rdirfileroot@XXX.XXX.XXX.XXX:
/root/
3、把服务器上的/root/file文件取回来本地当前目录
C:
\>pscp.exeroot@XXX.XXX.XXX.XXX:
/root/file.
4、把服务器上的/root/dir目录取回本地"C:
\MyDocuments\data\"目录
C:
\>pscp.exe-rroot@XXX.XXX.XXX.XXX:
/root/dir"C:
\MyDocuments\data\"
Putty
随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。
在各种远程登录工具中,Putty是
出色的工具之一。
Putty是一个免费的、Windows32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的
telnet类工具。
用它来远程管理Linux十分好用,其主要优点如下:
◆完全免费;
◆在Windows9x/NT/2000下运行的都非常好;
◆全面支持ssh1和ssh2;
◆绿色软件,无需安装,下载后在桌面建个快捷方式即可使用;
◆体积很小,仅364KB(0.54beta版本);
◆操作简单,所有的操作都在一个控制面板中实现。
使用简介:
把Putty下载到机器上,双击putty.exe,就出现如图1的配置界面。
选择“Session”,在“HostName
(orIPaddress)”输入框中输入欲访问的主机名或IP,比如server1或192.168.9.4。
端口号(Port)根
据使用的协议有所区别,ssh默认使用22,telnet默认使用23,rlogin默认使用513。
在“Protocol”单
选栏中选择使用的协议,一般是telnet或ssh,这取决于服务器提供的服务。
在“SavedSession”输入
栏中输入任务的名字,单击“Save”按钮,就可以把任务配置保存起来了。
配置完成后单击“Open”按钮,出现如图2的登录界面,就可以使用Putty连接Linux主机了。
关于putty的一些使用中常见的问题
一、在Windows中使用putty登录FreeBsd系统时,能够输入用户名,但是输入密码后按回车键半天无反应
。
答:
设置过程如下:
1.在/etc/ssh/sshd_config中添加如下内容,使普通用户可以通过SSH登录:
AllowUsers普通用户帐号
UseDNSno
2.将希望使用su命令的用户加入到wheel组中,在/etc/group中作如下修改
wheel:
*:
0:
root,普通用户帐号
二、在loginas:
后输入用户名,J04222035@'spassword:
光标不动。
即使输入正确的
密码也是没有反应?
答:
这是因为putty不像telent那样会直接显示密码,而是不显示密码,只要你输入的密码是正确的,
即使不显示只要输完密码后直接回车即可进入,不用在乎光标不动。
终于轮到Pagent出场了,双击一下Pagent.exe,嗯,没反应?
再双击一下,咦?
出来个提示,说已经运行了。
看看右下角吧,在这里呢
双击一下Pagent的图标,出来这样一个界面。
很简洁的,AddKey是添加私钥,RemoveKey是把选中的私钥从Pagent中卸载了。
好,现在单击AddKey按钮添加私钥,我把这个演示用的私钥保存到C:
\了
然后会出现输入密钥口令的对话框,输入正确的密钥后,单击OK
这时,在Pagent的窗口中就能看到我们的私钥已经装载上去了。
现在打开PuTTY,选择先前保存的Session,双击一下。
只要自动登录用户名设置上,主机上改帐户的authorized_keys文件里也有匹配的公钥。
哈哈,发现没有?
完全不需要口令,我们已经登录到系统了。
在Pagent的图标上点右键,也可以快捷的选择已经保存的会话。
建议大家把Pagent放到启动组里面,这样每次一开机,Pagent自动运行,然后我们只需要把私钥装载一下,然后我们就可以一直享受自动登录系统的乐趣了。
再配合上以后会讲到的Plink、PSCP这些,我们可以实现很多工作的自动化进行。
完全不需要每次输入用户名、口令、输入又长又多的命令,再做一些烦躁的文件备份,最后还得记得注销系统,难道不觉得麻烦么?
这一切烦恼很快就会远离我们了,继续往下看吧。
用SSH来传输文件
PuTTY提供了两个文件传输工具
∙PSCP(PuTTYSecureCopyclient)
∙PSFTP(PuTTYSFTPclient)
PSCP通过SSH连接,在两台机器之间安全的传输文件,可以用于任何SSH(包括SSHv1、SSHv2)服务器。
PSFTP则是SSH-2中新增的特性,使用的是新的SFTP协议,使用上与传统的FTP类似。
事实上PSCP如果发现SFTP可用,PSCP就会使用SFTP协议来传输文件,否则还是SCP协议。
PSFTP与PSCP相比,PSFTP的优点是可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。
而PSCP只能一次传输一个文件,传输完毕后立刻终止会话。
PSCP的使用
在控制台直接执行pscp可以看到帮助
C:
\>pscp
PuTTYSecureCopyclient
Release0.58
Usage:
pscp[options][user@]host:
sourcetarget
pscp[options]source[source...][user@]host:
target
pscp[options]-ls[user@]host:
filespec
Options:
-V printversioninformationandexit
-pgpfp printPGPkeyfingerprintsandexit
-p preservefileattributes
-q quiet,don'tshowstatistics
-r copydirectoriesrecursively
-v showverbosemessages
-loadsessname Loadsettingsfromsavedsession
-Pport connecttospecifiedport
-luser connectwithspecifiedusername
-pwpasswloginwithspecifiedpassword
-1-2 forceuseofparticularSSHprotocolversion
-4-6 forceuseofIPv4orIPv6
-C enablecompression
-ikey privatekeyfileforauthentication
-batch disableallinteractiveprompts
-unsafe allowserver-sidewildcards(DANGEROUS)
-sftp forceuseofSFTPprotocol
-scp forceuseofSCPprotocol
C:
\>
可以看出PSCP的使用是很简单的,把常用的几个选项说一下:
∙-q安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的
∙-Pport指定服务器的SSH端口,注意这个是大写字母P,默认是-P22,如果主机的SSH端口就是22,就不用指定了
∙-luser指定以哪个用户的身份登录主机,如果没有指定,则PSCP会在PuTTY保存的同名Session中获得默认的用户名称。
用户名称也可以和主机名称写在一起,用@分割开,比如:
username@server
∙-pwpasswd指定登录时所用的口令为passwd
∙-ikeyfile就是指定登录时所用的密钥文件
∙最后面指定的主机名也可以是PuTTY中保存的Session名称。
比如我们在PuTTY中保存了一个名为foobarserver的会话,而我们所在的网络又的确没有名为foobarserver的主机名称。
而在这个foobarserver会话中保存的主机名称是demo-server,保存的自动登录的用户是taylor。
那么用命令
pscpc:
\autoexec.batfoobarserver:
backup/
就把本地的c:
\autoexec.bat复制到了主机demo-server上的用户taylor所在的主目录下的backup子目录中(这个路径可能是/home/taylor/backup
所以PSCP大致用法的例子就是:
pscp-P22-ic:
\path\your-private-key.ppk-Cusername@server:
/remote/path/
下面还是用一些实例来说明会比较简单一些:
把本地的C:
\path\foo.txt复制到远程主机192.168.6.200的/tmp目录下
pscpc:
\path\foo.txt192.168.6.200:
/tmp
把本地的C:
\path\foo.txt复制到主机192.168.6.200的/tmp目录下,但是以主机上的用户taylor的权限执行
pscpc:
\path\foo.txttaylor@192.168.6.200:
/tmp
或者是
pscp-ltaylorc:
\path\foo.txt192.168.6.200:
/tmp
把本地的C:
\path\foo.txt传送到主机192.168.6.200的/tmp目录下,但是主机的SSH端口是3122
pscp-P3122c:
\path\foo.txt192.168.6.200:
/tmp
把本地的C:
\path\foo.txt复制到主机192.168.6.200的用户taylor的主目录下
pscpc:
\path\foo.txttaylor@192.168.6.200:
.
把主机192.168.6.200上的用户taylor主目录下的所有*.tgz文件拷贝到本地的c:
\backup目录中,如果SSH版本是SSHv1,那这个命令就会出错。
pscptaylor@192.168.6.200:
*.tgzc:
\backup
再来看看PSFTP
在控制台执行命令psftp-h,可以得到psftp的帮助
C:
\>psftp-h
PuTTYSecureFileTransfer(SFTP)client
Release0.58
Usage:
psftp[options][user@]host
Options:
-V printversioninformationandexit
-pgpfp printPGPkeyfingerprintsandexit
-bfile usespecifiedbatchfile
-bc outputbatchfilecommands
-be don'tstopbatchfileprocessingiferrors
-v showverbosemessages
-loadsessname Loadsettingsfromsavedsession
-luser connectwithspecifiedusername
-Pport connecttospecifiedport
-pwpasswloginwithspecifiedpassword
-1-2 forceuseofparticularSSHprotocolversion
-4-6 forceuseofIPv4orIPv6
-C enablecompression
-ikey privatekeyfileforauthentication
-batch disableallinteractiveprompts
C:
\>
用法与PSCP大同小异,虽然有个-load选项,其实这个没啥用,后面用主机名的时候,与PSCP一样直接用上会话名称就可以了。
用PSFTP登录到服务器上以后,操作与FTP差不多,这里简单的说一下吧:
∙open登录主机
open[username@]
比如:
oopentaylor@demo-server3022
就是以用户taylor的身份,登陆到主机demo-server上,SSH端口是3022
oopendemo-server
登陆demo-server,这里的demo-server可以是PuTTY中已经保存的会话名称,也可以是主机的名称,如果主机名称与会话名称相同,以会话名称为准。
∙close关闭SFTP连接
这个没啥说的,close就关闭了SFTP连接
∙quit结束本次的SFTP会话
也没啥用法,就是关闭了PSFTP这个程序
∙help[command]帮助
直接打help就可以看到帮助指令,后面指定上一个命令就可以查看该命令的帮助,比如:
helpopen
∙cd[directory]改变当前目录
∙pwd察看当前目录
∙lcd[directory]改变本地目录
∙lpwd察看本地当前目录
∙get[-r]
∙put[-r]
∙mget[-r]
∙mget[-r]
∙reget[-r]
∙reput[-r]
∙dir[directory]列目录
∙ls和dir一样
∙chmod[file|directory]改变文件的权限,与Unix的chmod命令类似
∙del
∙rm与del一样
∙mkdir
∙rmdir
∙mv
如果源和目的都是文件或目录,则是改名。
如果目的是目录的话,则是移动。
∙!
在本地命令前加一个感叹号,就可以直接执行
其他可选的SFTP客户端
FileZilla:
WinSCP:
用Plink更方便快捷的执行远程主机上的命令
Plink是PuTTY的命令行连接工具,主要用于自动化工作的处理。
直接在控制台执行plink,可以看到Plink的帮助
C:
\>plink
PuTTYLink:
command-lineconnectionutility
Release0.58
Usage:
plink[options][user@]host[command]
("host"canalsobeaPuTTYsavedsessionname)
Options:
-V printversioninformationandexit
-pgpfp printPGPkeyfingerprintsandexit
-v showverbosemessages
-loadsessname Loadsettingsfromsavedsession
-ssh-telnet-rlogin-raw
forceuseofaparticularprotocol
-Pport connecttospecifiedport
-luser connectwithspecifiedusername
-batch disableallinteractiveprompts
ThefollowingoptionsonlyapplytoSSHconnections:
-pwpasswloginwithspecifiedpassword
-D[listen-IP:
]listen-port
DynamicSOCKS-basedportforwarding
-L[listen-IP:
]listen-port:
host:
port
Forwardlocalporttoremoteaddress
-R[listen-IP:
]listen-port:
host:
port
Forwardremoteporttolocaladdress
-X-x enable/disableX11forwarding
-A-a enable/disableagentforwarding
-t-T enable/disableptyallocation
-1-2 forceuseofparticularprotocolversion
-4-6 forceuseofIPv4orIPv6
-C enablecompression
-ikey privateke
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- putty pscp 命令 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)