① centos7 中使用sftp窗口的get命令下载文件到Windows,请问下载到了Windows的哪个目录
应该是 c:\users\your_user_name
和你的 用户名有关系的那个
去 看看
② CentOS使用sftp命令进行主机间文件传输
sftp是Secure FileTransferProtocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp与 ftp有着几乎一样的语法和功能。SFTP为 SSH的一部分,是一种传输档案至Blogger服务器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File TransferProtocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。
登录成功后,才可以进行下面的获取和发送操作。
1.登录远程账号
2.从远程获取文件夹
3.退出
框内输出exit,即退出sftp。
③ linux的sftp命令
linux下sftp命令很多人都只是了解了语法却不知道具体用法,下面由我为大家整理了linux下sftp命令的相关知识,希望对大家有帮助!
linux的sftp命令
1.常用登陆方式:
格式:sftp 《user》@《host》
通过sftp连接《host》,端口为默认的22,指定用户《user》。
2.查看sftp支持的命令
使用help命令,查看支持的命令,如:
sftp》help
(其中命令前面有“l”表示本地执行,其他表示在所登录的远程主机上面执行)
3.基本的使用
sftp主要是用来传输文件的,包括上传文件(从本机到远程主机) ,下载文件(从远程主机到本机)。
(1)文件下载
get [-Ppr] remote [local]
如:get test.cpp 。/Project/
将远程当前目录下的文件test.cpp下载到本地当前目录的Project文件夹中。
(2)文件上传
put [-Ppr] local [remote]
如:put /home/liu/Software/RHEL_5.5 x86_64.iso /home/xudong/Blog/
将本地/home/liu/Software/目录下的ios文件传送到远程登陆主机的/home/xudong/Blog/目录下。
(3)其他命令
可以使用命令还是有几个的,如ls、lls;cd、lcd;pwd、lpwd等。具体查看help输出吧。
sftp就是secure file transfer program,它基于ssh,用它在两个Linux系统间传递文档非常方便。
要使用sftp传递文档,首先应该在服务器端打开ssh服务,如果没有打开,一般可以通过下面的命令打开:
# /etc/init.d/sshd start
然后就可以在客户端通过sftp登录服务器端进行文档传递操作,如下:
$ sftp [-oPort=port_number] username@server_ip[:file1 file2 。。。]
补充:Linux的sftp命令的参数说明
-o 用来向ssh传递参数,比如-oPort=222,会告诉ssh使用连接服务器的222端口,而不是默认的22端口。这个在遇到服务器端把ssh服务默认的22号端口改变的情况时会有用。
后面的file1、file2代表文件名,也可以是一个目录。在没有指定文件时会打开一个交互界面,在交互界面下可以通过命令来传递文档。
如:
$ sftp -o port = 222 [email protected]
Linux的sftp命令的命令说明
在sftp命令的交互界面下,有很多命令可以用,比如:cd、ls、pwd、bye、chmod、chgrp、chown、df、get、help、mkdir等等。当然这些命令都是针对服务器端的操作,其中一些命令在加l前缀的情况下可以实现在本地下的操作。比如,lpwd命令会打印本地当前工作目录(即连接sftp前的当前工作目录)。这些命令中有两个是用来交换文档的,它们是get和put命令,如下:
》 put local_path [remote_path]
》 get remote_path [lcoal_path]
put 命令会把本地文件或目录“推”到服务器端;get命令则把服务器端文件或目录“拉”下来。
上面就是Linux使用sftp命令传输文件相关介绍了,相较于ftp而已,sftp命令传输文件更加安全,推荐使用sftp命令传文件。
④ 如何配置 SFTP 接收位置
在左窗格中,单击“接收端口”节点,在右窗格中,右键单击你希望将新的接收位置与其关联的接收端口,然后单击“属性”。在“接收端口属性”对话框的左窗格中,选择“接收位置”,然后在右窗格中单击“新建”以创建新的接收位置。在“接收位置属性”对话框的“传输”部分中,从“类型”下拉列表中选择“SFTP”,然后单击“配置”以配置接收位置的传输属性。在“SFTP 传输属性”对话框的“常规”选项卡中,执行以下操作:�0�2 使用此选项 执行此操作 ConnectionLimit指定服务器允许的并行打开的最大连接数。0 表示无限制。PollingInterval指定适配器轮询服务器的时间间隔。若要连续轮询,请将此值设置为零。默认值:零单位指定所指定的轮询间隔的单位,例如,秒、分钟、小时或天。默认值:秒AccessAnySSHServerHostKey如果设置为 True,则接收位置接受来自服务器的任何 SSH 公共主机密钥。如果设置为 False,则接收位置使用服务器的指纹进行身份验证。你在 SSHServerHostKeyFingerPrint 属性中指定指纹。默认值:FalseClientAuthenticationMode指定接收位置用于对连接 SSH 服务器的客户端进行身份验证的身份验证方法。如果设置为“密码”,则必须在“密码”属性中指定值。如果设置为 PublicKeyAuthentication,则必须在 PrivateKey 属性中指定用户的私钥。此外,如果该私钥受密码保护,则还要为 PrivateKeyPassword 属性指定密码。默认值: 密码密码如果将 ClientAuthenticationMode 设置为“密码”,则指定 SFTP 用户密码。PrivateKey如果将 ClientAuthenticationMode 设置为 PublicKeyAuthentication,则指定 SFTP 用户的私钥。便笺 该私钥必须是指定的 .pkf 文件。 PrivateKeyPassword指定私钥密码,如果在 PrivateKey 属性中指定的密钥要求这样做。SSHServerHostKey指定安全 FTP 服务器的 SSH 公共主机密钥。用户名指定安全 FTP 服务器的用户名。FileMask指定在从安全 FTP 服务器检索文件时要使用的文件掩码。FolderPath指定安全 FTP 服务器上可供接收位置从中检索文件的文件夹路径。端口指定在其上进行文件传输的安全 FTP 服务器的端口地址。ServerAddress指定安全 FTP 服务器的服务器名称或 IP 地址。单击“确定”。
⑤ linux/centos普通用户sudo开启sftp
一般情况下,从安全考虑,root是禁止ssh登录,普通用户通过sudo操作,一般都没问题,但是要通过ftp传输文件就麻烦了,文件是属于root用户的,普通用户即使等登录也不能更改文件,也要加上sudo命令才能更改文件,通过winscp软件可以实现实现这个功能,详细配置查看这个帖子:
http://blog.csdn.net/xuejinliang/article/details/52301349
配置图1(http://upload-images.jianshu.io/upload_images/3727878-911d343f96035822.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高级-SFTP sudo /usr/libexec/openssh/sftp-server
配置图2(http://upload-images.jianshu.io/upload_images/3727878-52fa5c95dcc9d859.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高级-Shell sudo -i
附加背景知识:
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP
在主流linux系统版本当中,默认都有安装openssl和openssh包,都有ssh命令,也就是说默认安装好了SFTP服务器和sftp命令,不需要额外配置vsftp。
sftp有两种实现
1.sftp-server默认实现
2.internal-sftp可更改用户对应的目录
本来考虑不用sudo,而是通过internal-sftp来实现,把普通用户加入到root用户组,把文件的root用户组权限加上写的权限来实现的,后来发现没用,
因为目录权限设置要遵循2点:
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。
如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。
⑥ 使用sftp进行文件传输
SFTP是SSH File Transfer Protocol的缩写,安全文件传送协议。SFTP与FTP有着几乎一样的语法和功能。SFTP为SSH的其中一部分,是一种传输档案至 Blogger 服务器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
SFTP与FTP差别
只使用SFTP传输文件,不能使用ssh登录系统
创建sftp用户组
创建sftp用户
将ChrootDirectory目录设置为/home(所有权必须为root),然后 ForceCommand 使用-d 选项将用户的主目录指定为起始目录
当前/home目录
编辑/etc/ssh/sshd_config文件
使用SFTP客户端,上传文件
查看用户home目录
嵌套主目录
创建目录并设置权限
查看当前的目录结构
修改/etc/ssh/sshd_config文件
使用SFTP客户端上传文件
查看上传的文件位置
验证
从10.10.0.1机器登录
10.10.0.1机器能看到所有的目录
从其他主机登录
其他主机只能看到限定的目录
属于sftp-only用户组,但是不限制ssh及sftp
创建用户
修改配置
验证
ssh登录验证
修改sshd配置
修改 /etc/rsyslog.conf,在最后添加
SFTP 命令
⑦ SFTP 怎么往服务器上上传整个文件夹
使用SecureSRT中的SFTP传递文件夹时,有个小细节值得注意一下:
1)在文件夹名dirname后加上'/',传输后,目标位置没有新建文件夹dirname,只有dirname文件夹下的各个文件。
如:
sftp> get -r smsrc/
2)在文件夹名dirname后不加'/',传输后,目标位置新建文件夹dirname,所有文件位置新建文件夹dirname下。
如:
sftp> get -r smsrc
⑧ sftp创建新账户并指定目录
首先 你的openssh-server版本至少得是4.8p1,因为配置权限需要版本添加的新配置项ChrootDirectory来完成。 如何查看自己服务器上的ssh版本?大家可以尝试以下命令: # ssh -V 步骤: 1. 我们需要创建一个用户组,专门用于sftp用户 # groupadd sftpusers ps我里的用户组是sftpusers 2. 我们创建一个用户user # useradd -s /bin/false -G sftpusers user ps注意这里我们将user用户的shell设置为/bin/false使他没有登陆shell的权限 # passwd user ps设置user用户密码 3. 编辑/etc/ssh/sshd_config 找到Subsystem这个配置项,将其修改为 Subsystem sftp internal-sftp 然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问自己的文件夹 Match Group sftpusers X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp ChrootDirectory /data/sftp/%u #需在 /data/sftp/ 创建user文件夹,该文件夹就是登录的sftp用户目录 保存并关闭 4. 修改user用户所在文件夹的权限,让其属于root用户 # chown root /data/sftp/user 5. 重启sshd服务 # service sshd restart 6. 测试用户账号 # ssh user@localhost ps连接会被拒绝,证明该用户没有ssh shell登录的权限 # sftp user@localhost 登陆后你会发现你的账号无法切换到除自己本身目录之外的地方;ps或者登录失败,看下面可能出现的问题; 问题: 1,如果在链接服务器的时候出现下面的提示: Write failed: Broken pipe Couldn't read packet: Connection reset by peer 这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root,权限是750 或者755。 解决:设置user目录为root权限,# chown root:user /data/sftp/user #chmod 750 /data/sftp/user 2,Sftp用户登录后不能在本目录操作: 是因为登录后的目录是root权限,需将sftp账号赋予root权限,操作方法将 /etc/passwd 文件中对应的sftp的用户ID修改为0,这样就可以有权限操作登录后的目录了(还有其他赋予权限方法,ps另行查找)。Eg:user:x:503:505::/home/darops:/bin/false 将503改为0