
以winscp软件为例:1、将之前下载的sftp服务端解压缩,然后直接运行主程序。点“NEXT”按钮进行下面的 *** 作。
2、在许可协议窗口处填写“同意”并点“下一步”按钮继续。
3、在接下来的配置窗口中选择要安装的组件,从界面中可以看到包括client(客户端)与server(服务器端),实际上只需要服务器端,而客户端使用之前下载的WinSCP 382即可。选择相应的服务器端组件后点“下一步”完成安装
4、 接下来就要启动该服务了,通过“开始->运行->输入CMD后回车”进入到命令提示窗口,然后通过cd命令定位到c:\programfiles\openssh\bin目录。
5、依次执行mkgroup -l >> \etc\group mkpasswd -l >> \etc\passwd命令,这样你目前windows本地帐户中的用户就都可以登录该sftp服务器了,自对文件目录的访问权限和NTFS权限一致。此步骤相当于FTP中的建立访问帐号。
6、添加完各个访问帐户后就可以使用了。
SFTP:sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。
java连接Sftp服务器后,使用第三方jar comjcraftjschChannelSftp;用get()方法获取的InputStream流为空,检查下第3方初始化这些写对没有,或者就是没得到流,打印看看,解决问题。
在早期的UNIX系统中,根目录在文件系统中是固定的。在包括Linux的现代UNIX中,你可以为每个进程都定义一个根目录。而chroot命令则可以允许你运行/目录以外的进程。
本文将会介绍怎么限制SFTP用户访问其home文件夹或者设置好后制定的目录。即通过ssh登录的用户只能访问给指定的home文件夹下面的某些文件夹,而不是整个home文件夹。
限制用户的访问权限是至关重要的,特别是在一个公用的环境中,只有这样才能让不同的用户只能访问自己分配的文件夹
重要提示:本文的主要目的也可以设置只通过SFTP登录的用户而不是SSH登录的用户,看了本文教程后可以设置成只能进行文件传输而不允许SSH登录
最简单的方法就是给SFTP权限创建chrooted文件系统 这种方法在所有的Unix/Linux *** 纵系统上都是可以通用的 使用chrooted我们可以限制用户在他们自己的home文件夹或者制定的文件夹
Restrict Users to Home Directories
In this section, we will create new group calledsftpgroupand assign correct ownership and permissions to user accounts There are two choices to restrict users to home or specific directories, we will see both way in this article
创建或更改用户、用户组
首先我们要限制下已有的用户,就那 tecmint举例吧,改用户的home文件路径是/home/tecmint我们使用下面的命令创建一个新的用户组sftpgroup:
# groupadd sftpgroup
下面分配‘tecmint’ 用户到sftpgroup用户组去
# usermod -G sftpgroup tecmint
当然你也可以创建一个新的用户比如 senthil,然后分配给tosftpusers用户组
# adduser senthil -g sftpgroup -s /sbin/nologin # passwd tecmint
修改SSH配置文件
打开 /etc/ssh/sshd_config 配置文件,加入下面代码
Subsystem sftp internal-sftp Match Group sftpgroup ChrootDirectory /home ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no
保存文件,重启sshd让其生效
# systemctl restart sshd OR # service sshd restart
如果你想让多个用户的跟目录都指定到同一个目录来,那就需要修改每个用户home文件夹的权限了,这样才能避免用户可以访问别个用户的home文件夹
# chmod 700 /home/tecmint
验证SSH和SFTP用户登录
现在就从本系统登录,然后尝试登录到远程的服务器
# ssh tecmint@1921681150
说明下
tecmint– 是远程服务器的登录用户名
1921681150– 远程服务器IP
然后就会输出类似这样的信息:
tecmint@1921681150's password: Could not chdir to home directory /home/tecmint: No such file or directory This service allows sftp connections only Connection to 1921681150 closed
那下面尝试使用SFTP登录试试
# sftp tecmint@1921681150
然后就会输出类似这样的信息:
tecmint@1921681150's password: Connected to 1921681150 sftp>
下面看看当前的working目录
sftp> pwd
Remote working directory: /
sftp> ls
tecmint
在这里,tecmint就是一个home文件夹 进入这个目录去创建一些你喜欢的文件或者文件夹测试下
sftp> cd tecmint
Remote working directory: /
sftp> mkdir test
tecmint
下面
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和 *** 作。
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改 *** 作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls -l sobsrc tgz
-rw-r--r-- 1 root root Ju1 l5 17:3l sobsrc tgz
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
例如:
- rw- r-- r--
普通文件 文件主 组用户 其他用户
是文件sobsrctgz 的访问权限,表示sobsrctgz是一个普通文件;sobsrctgz的属主有读写权限;与sobsrctgz属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。
如果是window下上传到linux,可以安装个flashfxp软件。输入用户密码。就可以象ftp一样上传文件到linux里。。
如果是linux传linux。。。
直接使用sftp ip 输入用户密码,然后用cd ls put get等命令就可以把文件传到相应目录
具体命令参数可以输入sftp --help 就可以参看了
那天我误将自己的账号从自己组里移除了,连 sudo 权限都没有了,后来用 usermod -a -G caigan2015 caigan2015 恢复自己组,用 usermod -a -G sudo caigan2015 恢复 sudo 权限
所以,为了让sftp能上传文件,必须在“监狱”根目录下再创建一个普通用户能够写入的共享文件目录。为了便于管理员通过SFTP管理上传的文件,我把这个共享文件目录配置为:由root所有,允许sftp-users读写。这样,管理员和SFTP用户组成员就都能读写这个目录了。
当然,目录具体位置由自己设定,比如我是一个网站管理员 我就设置为
/var/>
以上就是关于如何在windows上配置sftp全部的内容,包括:如何在windows上配置sftp、java连接Sftp服务器后,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法获取的InputStream流为空、怎么使用Chroot文件系统限制SFTP登录用户访问文件夹权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)