第一个(sftp安全文件传输)是一个类ftp的客户端程序,它能够被用来在网络中传输文件。它并不使用FTP守护进程(ftpd或wu-ftpd)来进行连接,而是有意义地增强系统的安全性。实际上,通过监视一些系统中的log文件,我们可以注意到最近一个月中有80%的攻击是针对于ftpd守护进程的。
sftp避免了这些攻击从而可以停止在wu-ftpd上潜在的危险。
第二个(scp安全性复制)被用来在网络上安全地复制文件。它替代了不安全的rcp命令。Sftp和scp从连接到sshd服务器上后,不需要任何专用的守护进程。为了使用sftp和scp你必须插入以下两行在配置文件/etc/ssh2/sshd2_config中:
subsystem-sftp sftp-server
在这些修改之后,你必须重新启动sshd。然后你就可以使用sftp和scp连接到运行sshd的主机上了。
Sftp
Sftp使用在数据连接上使用ssh2,所以文件的传输是尽可能地安全。使用sftp代替ftp两个主要的的原因是:
1、Password从不用明文传输,防止sniffer(嗅探器)的攻击。
2、数据在传输时被加密,使用刺探和修改连接非常困难。
而使用sftp2是非常简单的。让我们假设你使用了你的帐户:myname通过sftp连按上了主机host1。
可以使用命令:
sftp myname@host1
一些选项能够在命令行中被指定(详细情况请查看sftp manul)
当sftp2准备好了来接受连接时,它将显示一个状态提示符 sftp>。在sftp手册中有完整的用户可以使用的命令列表;其中有:
·quit:
从这个应用程序中退出。
·cd directory:
改变当前的远程工作目录。
·lcd directory:
改变当前的本地工作目录。
·ls [ -R ] [ -l ] [ file ... ]:
列出在远地服务器上的文件名。如果是目录,则列出目录的内容。当命令行中指定了-R,则递归地显示目录树。(默认情况下,子目录并不被访问)。当命令行中指定了-l,文件与目录的权限,属主,大小和修改时间被列出。
当没有参数被指定,则.(当前目录)的内容被列出。普通情况下选项-R和-l是互相不兼容的。
·lls [ -R ] [ -l ] [ file ... ]:
与ls一样,但是是对于本地文件操作。
·get [file ...]:
从远程端传送指定的文件到本地端。目录内容被递归地复制。
·put [ file ... ]:
从本地端传送指定的文件到远地端。目录内容被递归地复制。
·mkdir dir (rmdir dir):
尝试建立或删除参数中指定的目录。
通配符对于ls,lls,get和put是支持的。格式在sshregex手册中有描述。从sftp使用加密技术以来,一直有一个障碍:连接速度慢(以我的经验有2-3倍),但是这一点对于非常好的安全性来讲只能放在一边了。在一个测试中,在我们局域网上的Sniffer可以在一个小时中捉住ftp连接上的4个password。sftp的使用可以从网络上传送文件并且除去这些安全问题。
Scp
Scp2(安全性复制)被用来从网络上安全地复制文件。它使用ssh2来进行数据传送:它使用的确认方式和提供的安全性与ssh2一样。
这可能是一种最简单的方法从远地机器上复制文件了。让我们假设你要使用你的帐户mmyname,复制在local_dir目录中的filename
文件到远地的主机host1上的remote_dir目录中。使用scp你可以输入:
scp local_dir/filename myname@host1:remote_dir
在这种方式下文件filename被复制成相同的名字。通配符可以使用(读一读sshregex手册)。命令行:
scp local_dir/* myname@host1:remote_dir
从目录local_dir复制所有文件到主机host1的目录remote_dir命令:
scp myname@host1:remote_dir/filename .
复制文件filename从host1的目录remote_dir到本地目录。
scp支持许多选项并且允许在两个远地系统之间复制文件:
scp myname@host1:remote_dir/filename myname@host2:another_dir
详情请查阅手册
显然,使用scp,你必须知道远程机器的确切目录,所以在实际上sftp经常被作为首选使用。
分享到:
相关推荐
scp命令是用于在两台主机之间传输文件的命令,通常用scp命令通过ssh获取对方Linux主机文件时,需要输入密码确认。方法类似于ftp命令,但是scp命令更加安全。 禁止scp命令 要禁止scp命令,需要删除openssh-clients...
scp、sftp 命令快速入门 scp 和 sftp 是两种常用的文件传输协议,都是基于 SSH 协议的安全文件传输方式。本文将对 scp 和 sftp 命令进行详细的介绍,包括其使用方法、基本命令、选项等。 一、sftp 命令 sftp 是一...
Linux scp命令 Linux scp 命令用于 Linux 之间复制文件和目录。 scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 ...
本文将深入探讨如何使用curl命令来实现在Linux环境下进行SFTP和FTP上传操作。 首先,让我们了解一下SFTP。SFTP是一种基于SSH(Secure Shell)的安全文件传输协议,它提供了安全的数据传输,保护了用户的登录凭证和...
用过Linux的用户对cp rm scp sftp sh ssh ls md5sum mkdir mv 命令很熟悉,但windows下却没有这个命令,把它拷贝到windows\system32目录下,就可以通过命令行来调用了。
总结来说,`scp`和`sftp`都是Linux环境下用于安全文件传输的工具,它们各有优势。`scp`适合简单的文件或目录传输,而`sftp`则提供了更丰富的交互式操作。在实际工作中,根据具体需求选择合适的命令,能够大大提高...
- 或者可以使用SCP命令直接将公钥文件传输至远程服务器并追加到`authorized_keys`文件中: ``` scp ./id_rsa.pub.A B的IP:/root/.ssh cat id_rsa.pub.A >> authorized_keys ``` - 如果之前没有创建`authorized...
SCP命令基于SSH协议,这意味着在使用SCP之前,需要确保目标主机上已安装并启用了SSH服务。 ##### 命令格式 SCP的基本命令格式如下: ``` scp [选项] [源文件] [目标地址] ``` 其中: - **选项**:可以指定一...
1. `linux下FTP、SFTP命令详解.doc` - 这个文档可能包含了在Linux环境中使用FTP和SFTP的基本命令和操作。 2. `Linux下sftp自动上传文件 - xiang002的日志 LUPA开源社区.mht` - 这是一篇关于如何在Linux上配置SFTP...
3. SCP文件传输:学习如何使用C#进行文件的上传和下载,理解SCP命令在C#中的实现。 4. 使用SshExe类进行操作:掌握如何通过预定义的方法执行远程命令、管理文件等。 5. C#编程技巧:分析源码,了解C#类的设计和实现...
除了使用`scp`命令外,还可以通过`ftp`或`sftp`等工具来上传文件。例如,使用`sftp`命令登录远程服务器后,可以使用`put`或`put localfile remotefile`将本地文件上传到远程服务器。 8. ln、file和touch命令: `ln`...
与SFTP不同,SCP通常在命令行中使用,通过简单的命令格式完成文件的复制。例如,你可以将本地文件复制到远程服务器,或将远程服务器的文件复制到本地。PuTTY套件中的pscp.exe就是实现这一功能的工具。 4. PuTTYgen...
然后突然想到SFTP,因为我服务器上没有装FTP,一直都是使用SFTP来当FTP使得,于是上网搜索了一下,还真找到了一个scp命令。使用起来也很简单,旧的服务器IP是204.152.221.90,要把上面的/home/wwwroot的文件拷贝过来...
虽然题目中提到的命令与 SSH 直接关联不大,但它们都是 Linux 中常用的操作命令,对于熟悉 Linux 环境同样非常重要。接下来将对这些命令进行解释。 - **文件和目录管理** - `rm -rf mydir/*`:删除目录 `mydir` 下...
`scp`命令用于安全地复制文件到远程主机,`rsync`用于同步本地与远程文件,`sftp`或`ftp`提供图形或命令行的文件传输服务。 3. **文档编辑**:Linux中最常用的文本编辑器有`vi/vim`、`nano`和`emacs`。`vi`是一款...
标题“基于Linux下服务器与客户端传文件”指的是在Linux环境下实现服务器与客户端之间的文件传输功能。这个小程序可能是为了演示或测试网络连接、验证传输机制或监控传输性能。下面我们将详细介绍几个关键的知识点:...
4. find 命令:用于查找目录及目录下的文件。 5. mkdir 命令:用于创建目录。 6. mv 命令:用于移动或重命名文件。 7. pwd 命令:用于显示当前工作目录的绝对路径。 8. rename 命令:用于重命名文件。 9. rm 命令:...
WinSCP是一款在Windows操作系统上广泛使用的开源软件,它提供了基于SSH(Secure Shell)的SFTP(Secure File Transfer Protocol)和SCP(Secure Copy Protocol)服务,允许用户在本地计算机与远程服务器之间进行安全...
总的来说,Java 操作 Linux 工具包是 Java 开发者在跨平台场景下不可或缺的工具,它们使得在 Java 环境下与 Linux 系统交互变得简单且高效。JSch、Runtime.exec() 以及其他相关库提供了丰富的功能,包括文件传输、...