使用openssh-clients的scp命令来传输文件

Posted tjudzj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用openssh-clients的scp命令来传输文件相关的知识,希望对你有一定的参考价值。

了解openssh-client是请参阅:https://blog.csdn.net/u010215256/article/details/53239905

了解scp命令来传输文件请参阅:https://blog.csdn.net/sukhoi27smk/article/details/19990439

声明:版权属于原作者,感谢两位整理

一. openssh-clients(参考:https://blog.csdn.net/u010215256/article/details/53239905)

之前因为需要搭建hadoop的集群,会用到ssh的功能。我的linux版本为centos6.4的minimal版本,虽然Windows环境下可以用XShell工具连上centos,但是centos之间去不能使用ssh登录。
  • openssh-server的功能主要是作为一个服务运行在后台,如果这个服务开启,我们就可以用一些远程连接工具来连接centos。因为minimal版本自带openssh-server,所以XShell可以连上centos

  • openssh-client的功能我觉得类似于XShell,可以作为一个客户端连接上openssh-server,但是Centos6.4的minimal版本不包括openssh-client,所以centos之前出现无法使用ssh登录的情况,centos可以使用如下命令安装客户端:

1 安装wget
2 yum -y install wget
3 
4 安装openssh-client
5 yum install openssh-clients
  • Ubuntu下可以使用如下命令openssh的服务端和客户端(好像安装openssh-server时也会自动安装openssh-clients)
1 sudo apt-get update
2 sudo apt-get install openssh-server

 我自己看过后的理解:

openssh-client和openssh-server就是一个客户端,一个服务端,两者连接后,我们可以通过他们再两台机器(或者说两个linux系统)之间传递文件等,一般情况,linux系统会自带
openssh-server,作为后台服务在运行,因此我们可以在windows系统上通过工具xshell连接上linux系统,此时xshell相当于openssh-client,连接上了linux系统上的openssh-server,
但是当我们在两个linux系统之间传递文件时,就需要使用openssh-client和openssh-server,openssh-client没有安装的话需要安装,然后通过他的scp命令来传递文件。scp命令传递文件的
用法可参考文章开头的第二个网址。

 

二. scp命令(参考:https://blog.csdn.net/sukhoi27smk/article/details/19990439)

  系统环境:RedHat Enterprise Linux Server 6

  主机desktop作为客户端,服务器为9.9.9.9(域名为www.huage.com)

  以下4个实例均在客户端完成,此时并未通过ssh登录到www.huage.com

 

  1、复制远程服务器的文件到本地:

  [[email protected] huage]#scp -P 22 [email protected]:/etc/yum.conf /home/huage/tmp/

  将远程服务器上的/etc/yum.conf文件拷贝到本机的/home/huage/tmp/目录

 

  2、复制远程服务器的目录到本地:

  [[email protected] huage]#scp -vrp -P 22 [email protected]:/sony/home/huage/

  将远程服务器上的目录/sony/拷贝到本机的/home/huage/目录

 

  3、复制本地的文件到远程服务器:

  [[email protected] huage]#scp -P 22 /home/huage/001 [email protected]:/home/

  将本机的/home/huage/001文件拷贝到服务器的/home/目录

 

  4、复制本地的目录到远程服务器:

  [[email protected] huage]#scp -vrp -P 22 /home/huage/tmp/ [email protected]:/home/

  将本机的/home/huage/tmp/目录拷贝到服务器的/home/目录

 

  scp用法:

  -P prot(后接SSH端口,默认为22)

  -v verbose(显示详细的传输过程)

  -r recursion (递归,用于传输目录及其子目录)

  -p Preserves modification times, access times, andmodes from the original file.

  保持源文件的所有属性

 

  注:[email protected]表示以root用户登录9.9.9.9

 

以上是关于使用openssh-clients的scp命令来传输文件的主要内容,如果未能解决你的问题,请参考以下文章

CentOS安装scp命令的软件包openssh-clients

scp命令安装使用

CentOS安装scp命令

linux基本命令之scp

容器内部安装scp,拷贝到外部物理机

系统之家Linux如何关闭scp和sftp命令怎么办