Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 其他文档 > putty之pscp命令详解

putty之pscp命令详解

收藏

本作品内容为putty之pscp命令详解,格式为 docx ,大小 269475 KB ,页数为 16页

putty之pscp命令详解


('pscp是putty安装包(免费)所带的远程文件传输工具,使用和Linux下scp命令相似,具体的使用方法如下:C:\\DocumentsandSettings\\Think\\桌面\\常用资源\\PuTTY-v0.60>PSCP.EXEPuTTYSecureCopyclientRelease0.60Usage:pscp[options][user@]host:sourcetargetpscp[options]source[source...][user@]host:targetpscp[options]-ls[user@]host:filespecOptions:-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/,并指定服务器端口2009C:\\>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普通用户帐号UseDNSno2.将希望使用su命令的用户加入到wheel组中,在/etc/group中作如下修改wheel::0:root,普通用户帐号二、在loginas:后输入用户名,J04222035@cs8.xmu.edu.cn\'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提供了两个文件传输工具\uf0b7PSCP(PuTTYSecureCopyclient)\uf0b7PSFTP(PuTTYSFTPclient)PSCP通过SSH连接,在两台机器之间安全的传输文件,可以用于任何SSH(包括SSHv1、SSHv2)服务器。PSFTP则是SSH-2中新增的特性,使用的是新的SFTP协议,使用上与传统的FTP类似。事实上PSCP如果发现SFTP可用,PSCP就会使用SFTP协议来传输文件,否则还是SCP协议。PSFTP与PSCP相比,PSFTP的优点是可以与服务器进行交互,遍历服务器上的文件系统,在一个会话中上传或下载多个文件。而PSCP只能一次传输一个文件,传输完毕后立刻终止会话。PSCP的使用在控制台直接执行pscp可以看到帮助C:\\>pscpPuTTYSecureCopyclientRelease0.58Usage:pscp[options][user@]host:sourcetargetpscp[options]source[source...][user@]host:targetpscp[options]-ls[user@]host:filespecOptions:-Vprintversioninformationandexit-pgpfpprintPGPkeyfingerprintsandexit-ppreservefileattributes-qquiet,don\'tshowstatistics-rcopydirectoriesrecursively-vshowverbosemessages-loadsessnameLoadsettingsfromsavedsession-Pportconnecttospecifiedport-luserconnectwithspecifiedusername-pwpasswloginwithspecifiedpassword-1-2forceuseofparticularSSHprotocolversion-4-6forceuseofIPv4orIPv6-Cenablecompression-ikeyprivatekeyfileforauthentication-batchdisableallinteractiveprompts-unsafeallowserver-sidewildcards(DANGEROUS)-sftpforceuseofSFTPprotocol-scpforceuseofSCPprotocolC:\\>可以看出PSCP的使用是很简单的,把常用的几个选项说一下:\uf0b7-q安静模式,传输文件时什么也不显示,否则会显示出文件的传输进度,默认是关闭的\uf0b7-Pport指定服务器的SSH端口,注意这个是大写字母P,默认是-P22,如果主机的SSH端口就是22,就不用指定了\uf0b7-luser指定以哪个用户的身份登录主机,如果没有指定,则PSCP会在PuTTY保存的同名Session中获得默认的用户名称。用户名称也可以和主机名称写在一起,用@分割开,比如:username@server\uf0b7-pwpasswd指定登录时所用的口令为passwd\uf0b7-ikeyfile就是指定登录时所用的密钥文件\uf0b7最后面指定的主机名也可以是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端口是3122pscp-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-hPuTTYSecureFileTransfer(SFTP)clientRelease0.58Usage:psftp[options][user@]hostOptions:-Vprintversioninformationandexit-pgpfpprintPGPkeyfingerprintsandexit-bfileusespecifiedbatchfile-bcoutputbatchfilecommands-bedon\'tstopbatchfileprocessingiferrors-vshowverbosemessages-loadsessnameLoadsettingsfromsavedsession-luserconnectwithspecifiedusername-Pportconnecttospecifiedport-pwpasswloginwithspecifiedpassword-1-2forceuseofparticularSSHprotocolversion-4-6forceuseofIPv4orIPv6-Cenablecompression-ikeyprivatekeyfileforauthentication-batchdisableallinteractivepromptsC:\\>用法与PSCP大同小异,虽然有个-load选项,其实这个没啥用,后面用主机名的时候,与PSCP一样直接用上会话名称就可以了。用PSFTP登录到服务器上以后,操作与FTP差不多,这里简单的说一下吧:\uf0b7open登录主机open[username@][port]比如:oopentaylor@demo-server3022就是以用户taylor的身份,登陆到主机demo-server上,SSH端口是3022oopendemo-server登陆demo-server,这里的demo-server可以是PuTTY中已经保存的会话名称,也可以是主机的名称,如果主机名称与会话名称相同,以会话名称为准。\uf0b7close关闭SFTP连接这个没啥说的,close就关闭了SFTP连接\uf0b7quit结束本次的SFTP会话也没啥用法,就是关闭了PSFTP这个程序\uf0b7help[command]帮助直接打help就可以看到帮助指令,后面指定上一个命令就可以查看该命令的帮助,比如:helpopen\uf0b7cd[directory]改变当前目录\uf0b7pwd察看当前目录\uf0b7lcd[directory]改变本地目录\uf0b7lpwd察看本地当前目录\uf0b7get[-r]从服务器下载一个文件/目录,这个命令不能用通配符,参数-r可以递归下载整个目录\uf0b7put[-r][dest]把文件/目录上传到服务器,这个命令不能用通配符,参数-r可以递归上传整个目录\uf0b7mget[-r]从服务器下载一批文件/目录,可以用通配符,-r的含义与get一样\uf0b7mget[-r][dest]把一批文件/目录上传到服务器,可以用通配符,-r的含义与put一样\uf0b7reget[-r]从服务器续传下载一个文件/目录,这个命令不能用通配符,-r的含义与get一样\uf0b7reput[-r][dest]把一批文件/目录续传上传到服务器,这个命令不能用通配符,-r的含义与put一样\uf0b7dir[directory]列目录\uf0b7ls和dir一样\uf0b7chmod[filedirectory]改变文件的权限,与Unix的chmod命令类似\uf0b7del删除文件,要注意的是del只能删除文件\uf0b7rm与del一样\uf0b7mkdir创建一个目录\uf0b7rmdir删除一个空目录,只有空目录才可以被删除\uf0b7mv改名/移动。如果源和目的都是文件或目录,则是改名。如果目的是目录的话,则是移动。\uf0b7!在本地命令前加一个感叹号,就可以直接执行其他可选的SFTP客户端FileZilla:http://filezilla.sf.netWinSCP:http://www.winscp.net用Plink更方便快捷的执行远程主机上的命令Plink是PuTTY的命令行连接工具,主要用于自动化工作的处理。直接在控制台执行plink,可以看到Plink的帮助C:\\>plinkPuTTYLink:command-lineconnectionutilityRelease0.58Usage:plink[options][user@]host[command]("host"canalsobeaPuTTYsavedsessionname)Options:-Vprintversioninformationandexit-pgpfpprintPGPkeyfingerprintsandexit-vshowverbosemessages-loadsessnameLoadsettingsfromsavedsession-ssh-telnet-rlogin-rawforceuseofaparticularprotocol-Pportconnecttospecifiedport-luserconnectwithspecifiedusername-batchdisableallinteractivepromptsThefollowingoptionsonlyapplytoSSHconnections:-pwpasswloginwithspecifiedpassword-D[listen-IP:]listen-portDynamicSOCKS-basedportforwarding-L[listen-IP:]listen-port:host:portForwardlocalporttoremoteaddress-R[listen-IP:]listen-port:host:portForwardremoteporttolocaladdress-X-xenable/disableX11forwarding-A-aenable/disableagentforwarding-t-Tenable/disableptyallocation-1-2forceuseofparticularprotocolversion-4-6forceuseofIPv4orIPv6-Cenablecompression-ikeyprivatekeyfileforauthentication-mfilereadremotecommand(s)fromfile-sremotecommandisanSSHsubsystem(SSH-2only)-Ndon\'tstartashell/command(SSH-2only)C:\\>看上去Plink的使用方法、参数与PSCP、PSFTP都很类似。\uf0b7-Pport指定服务器的SSH端口,注意这个是大写字母P,默认是-P22,如果主机的SSH端口就是22,就不用指定了\uf0b7-luser指定以哪个用户的身份登录主机,如果没有指定,则PSCP会在PuTTY保存的同名Session中获得默认的用户名称。用户名称也可以和主机名称写在一起,用@分割开,比如:username@server\uf0b7-pwpasswd指定登录时所用的口令为passwd\uf0b7-ikeyfile就是指定登录时所用的密钥文件\uf0b7-mfile如果执行的命令很多的话,可以把命令写到文件中,然后用这个参数来指定还是用一些实际的例子来说明一下Plink吧还记得前面说到PuTTY的自动执行命令那个配置么?在说到那个配置的时候,我们演示了一个简单的Tomcat重新启动的命令,这个命令是要写在PuTTY的Remotecommand里面去。现在我们用Plink来实现同样的功能:假设连接的主机是192.168.6.200,SSH的端口是3022,用户是taylor:plink-P3022taylor@192.168.6.200exportCATALINA_HOME="~/apache-tomcat-5.5.17";exportJAVA_HOME="~/jdk1.5.0_07";exportPATH=$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,现在这个命令就可以简化为:plink192.168.6.200exportCATALINA_HOME="~/apache-tomcat-5.5.17";exportJAVA_HOME="~/jdk1.5.0_07";exportPATH=$JAVA_HOME/bin;$PATH;cd$CATALINA_HOME/bin;./shutdown.sh;./startup.sh;tail-f$CATALINA_HOME/logs/catalina.out用date命令查看一下主机上的时间,并且格式化输出:plink192.168.6.200date"+%F%T"大家实际执行一下命令看看,会发现,这个命令并没有返回我们期望的结果,而是返回了一个错误:C:\\>plink192.168.6.200date"+%F%T"date:toomanynon-optionarguments:%TTry`date--help\'formoreinformation.可是在服务器上直接执行命令date"+%F%T",的确是正确无误的,哪里出了问题呢?这是因为Windows的控制台会把两个双引号之间的字符串作为一个参数传递给被执行的程序,而不会把双引号也传递给程序。我们做这样一个小小的实验来说明一下这个问题:比如在c:\\tmp文件夹里建立三个文件夹,名称分别为:"foo"、"bar"、"foobar"。然后在foo这个文件夹里面建立一个名为“foo.log”的空文件,在“bar”这个文件夹里建立一个名为“bar.log”的空文件,在“foobar”这个文件夹里建立一个名为“foo-bar.log”的空文件。然后在控制台下进入c:\\tmp这个文件夹,执行如下命令:dirfoobar结果是列出“foobar”这个文件夹里的内容,还是分别列出“foo”和“bar”文件夹里的东西呢?正确答案是后者。要想正确列出“foobar”文件夹里的东西,就需要用双引号把"foobar"引起来C:\\tmp>dirfoobarVolumeindriveCisSystemVolumeSerialNumberis9C51-A51CDirectoryofC:\\tmp\\foo2006-11-2209:48

.2006-11-2209:48..2006-11-1611:580foo.log1File(s)0bytesDirectoryofC:\\tmp\\bar2006-11-2209:48.2006-11-2209:48..2006-11-1611:580bar.log1File(s)0bytes2Dir(s)1,107,345,408bytesfreeC:\\tmp>dir"foobar"VolumeindriveCisSystemVolumeSerialNumberis9C51-A51CDirectoryofC:\\tmp\\foobar2006-11-2209:48.2006-11-2209:48..2006-11-1611:580foo-bar.log1File(s)0bytes2Dir(s)1,107,345,408bytesfreeC:\\tmp>说到这里,就会明白上面的那个命令plink192.168.6.200date"+%F%T"其实在主机上执行的真实命令是date+%F%T,而不是命令行中指定的date"+%F%T"。不过还好,Windows的控制台可不认得单引号,所以上面那个命令的正确用法应该是:c:\\>plink192.168.6.200date\'+%F%T\'2006-11-2209:39:57我经常需要登录到服务器上把ADSL重新拨号,可以把下面的命令写到一个文本文件中,比如保存到了C:\\adsl-restart.command.txtecho"stoping..."/sbin/adsl-stopecho"starting..."/sbin/adsl-startecho"done."/sbin/adsl-status然后执行如下命令:plink-mc:\\adsl-restart.command.txtroot@192.168.6.251我经常要查看Tomcat的运行日志plinktaylor@192.168.6.200tail-f~/apache-tomcat-5.5.17/logs/catalina.out每天都要看服务器上的剩余空间,就用这个命令:plinktaylor@192.168.6.200df-k假设www.chaifeng.com连接着另外一个网段10.204.26.0,有台内网IP为10.204.26.21的Solaris8主机只能用telnet登录,为了防止被监听,我们可以用Plink建立一个隧道,隧道开放120秒钟,如果隧道没有被使用,就自动断开连接,然后我们在本地就可以用命令telnetlocalhost2623的安全登录那台Solaris8主机了。plink-L2623:10.204.26.21:23www.chaifeng.comsleep120在主机www.chaifeng.com上正在运行着tor,默认的监听地址是127.0.0.1:9050,用Plink建立一个隧道,然后浏览器上配置代理服务器为127.0.0.1,端口是9050,这样就能够安全的使用tor代理了,不用担心从我们的机器到主机www.chaifeng.com有被监听的可能了。plink-C-N-L9050:127.0.0.1:9050taylor@www.chaifeng.com结合上PSCP我们还可以完成文件的每天备份plinktaylor@192.168.6.200tarjcf$(date\'+documents.%F.tar.bz2\')~/documentspscptaylor@192.168.6.200:$(date\'+documents.%F.tar.bz2\')c:\\backup\\plinktaylor@192.168.6.200rm-f$(date\'+documents.%F.tar.bz2\')如果把这些常用的操作写成批处理文件,到时候要重启一下Tomcat,或者马上察看一下Tomcat日志,再或者只是要把ADLS重新拨号以下,只需要用鼠标一双击这个批处理文件,稍等一下就自动完成了。不比你打开PuTTY,登录到服务器上,然后再一个一个的执行命令,最后还得注销来的方便快捷么?PSCP:它是Putty的文件传输工具,用于两台电脑之间的文件传输,一次只能传输一个文件,文件传输完毕立即终止会话。PSFTP:它是Putty的文件传输工具,用于两台电脑之间的文件传输,一次能传输多个文件,文件传输完毕立即终止会话。工具/原料\uf0b7putty、pscp、psftp步骤/方法1.模拟案例一:利用root用户将d:\\人事.txt文件传输到主机200.200.200.66/tmp目录下.2.模拟案例二:利用root用户登录,指定c:\\zzbaike.ppk密钥文件,将d:\\工资.txt上传到200.200.200.66/root目录中.3.模拟案例三:利用root用户将d:\\rsb\\所有文件传输到主机200.200.200.66/rsb目录中.4.模拟案例四:利用root用户将200.200.200.66/jsb目录中所有文件下载到本地E盘中.',)


  • 编号:1700774236
  • 分类:其他文档
  • 软件: wps,office word
  • 大小:16页
  • 格式:docx
  • 风格:商务
  • PPT页数:269475 KB
  • 标签:

广告位推荐

相关其他文档更多>