
SFTP可以替代旧版FTP协议。 它具有FTP的所有功能,但连接更加安全。
本文介绍了如何在Linux中更改默认的SFTP端口。 我们还将向您展示如何配置防火墙以允许在新端口上使用。
SFTP是SSH的子系统,并提供与SSH相同级别的安全性。
默认的SFTP端口为22。
更改默认的 SFTP / SSH 端口可以降低自动攻击的风险,从而为服务器增加一层额外的安全保护。
下面的步骤详细讲解了如何更改SFTP默认端口:
在Linux中,低于1024的端口号是为知名服务保留的,只能由root绑定。 尽管可以将1-1024范围内的端口用于SSH服务以避免端口分配问题,但建议选择1024以上的端口。
本示例说明如何将SFTP/SSH端口更改为2222,但是您可以选择自己喜欢的任何端口。
更改SFTP / SSH端口之前,您需要在防火墙中打开新端口。
如果您正在使用UFW(Ubuntu中的默认防火墙),请运行以下命令以打开端口:
在 CentOS 中,默认的防火墙管理工具是 FirewallD 。 要打开端口,请输入以下命令:
CentOS用户还需要调整SELinux规则以允许新的SSH端口:
如果您使用的是另一个运行 iptables 的 Linux发行版 ,请打开新的端口运行:
SSH服务器配置存储在 /etc/ssh/sshd_config 文件中。 使用文本编辑器打开文件:
搜索以端口22开头的行。通常,该行使用井号(#)注释掉。 删除哈希号,然后输入新的SSH端口号:
编辑配置文件时要非常小心。 错误的配置可能会阻止SSH服务启动。
完成后,保存文件并重新启动SSH服务以使更改生效:
在CentOS中,SSH服务名为sshd:
验证SSH守护程序正在侦听新端口:
ss -an | grep 2222
输出应如下所示:
要指定端口号,请使用 -P 选项调用 sftp 命令 ,后跟新的端口号:
如果使用的是GUI SFTP客户端,只需在客户端界面中输入新端口。
默认的SFTP端口为22。但是,您可以将端口更改为所需的任何数字。
如果您定期连接到多个系统,则可以通过在SSH配置文件中定义所有连接来简化工作流程。
如有任何疑问,请随时发表评论。
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、llscd、lcdpwd、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 user@www.xitongzhijia.net
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命令传文件。
可以按照如下方式进行设置:
1、创建sftp组,groupadd sftp,创建完成之后使用cat /etc/group命令组的信息。
2、创建一个sftp用户mysftp并加入到创建的sftp组中,同时修改mysftp用户的密码,useradd -g sftp -s /bin/false mysftp,passwd mysftp 。
3、新建/data/sftp/mysftp目录,并将它指定为mysftp组用户的home目录,mkdir -p /data/sftp/mysftp,usermod -d /data/sftp/mysftp mysftp。
4、编辑配置文件/etc/ssh/sshd_config,vi /etc/ssh/sshd_config,将如下这行用#符号注释掉。
5、设置Chroot目录权限,chown root:sftp /data/sftp/mysftp,chmod 755 /data/sftp/mys。
6、新建一个目录供stp用户mysftp上传文件,这个目录所有者为mysftp所有组为sftp,所有者有写入权限所有组无写入权限,mkdir /data/sftp/mysftp/upload,chown mysftp:sftp /data/sftp/mysftp/upload,chmod 755 /data/sftp/mysftp/upload。
7、关闭selinux并重启sshd服务,然后测试。
8、在其他服务器上进行验证,sftp 用户名@ip地址。
拓展资料1、sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的其中一部分,是一种传输档案至 Blogger 伺服器的安全方式。
2、其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复 *** 作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)