如何在linux下配置ssh和sftp使用不同的端口号?

如何在linux下配置ssh和sftp使用不同的端口号?,第1张

1、两个deamon

要实现ssh和sftp分离,分别监听不同的端口,可以通过创建两个‘/usr/sbin/sshd’后台程序,一个监听22端口(ssh),一个监听20022端口(sftp),为了区分ssh和sftp服务的后台程序,这里将ssh服务的后台程序保持为/usr/sbin/sshd,而将sftp服务的后台程序改为/usr/sbin/sftpd。/usr/sbin/sftpd是/usr/sbin/sshd的一个链接,其内容完全相同(ln
-sf /usr/sbin/sshd /usr/sbin/sftpd)。

2、两个service

SLES12使用systemd管理系统服务,ssh服务对应/usr/lib/systemd/system/sshdservice文件,实现sftp服务时可以将/usr/lib/systemd/system/sshdservice
复制到
/etc/systemd/system/sftpdservice,然后修改sftpdservice文件内容。(使用修改好的sftpdservice文件即可)

3、其他文件
系统的ssh服务是通过安装openssh实现的,可以通过rpm -ql openssh查看该rpm包含哪些文件。总结实现ssh和sftp分离的相关的文件有:

ssh服务    sftp服务  

/usr/lib/systemd/system/sshdservice    /etc/systemd/system/sftpdservice 
(通过修改/usr/lib/systemd/system/sshdservice文件得到)  

/etc/pamd/sshd    /etc/pamd/sftpd (通过复制 /etc/pamd/sshd文件得到)  

/etc/ssh/sshd_config    /etc/ssh/sftpd_config (通过复制/etc/ssh/sshd_config文件得到)  

/usr/sbin/rcsshd    /usr/sbin/rcsftpd (ln -sf /usr/sbin/service /usr/sbin/rcsftpd)  

/usr/sbin/sshd    /usr/sbin/sftpd (ln -sf /usr/sbin/sshd /usr/sbin/sftpd)  

/etc/sysconfig/ssh    /etc/sysconfig/sftp (通过修改/etc/sysconfig/ssh文件得到)  

至此,我们已经实现了两个服务。

但是,ssh服务和sftp服务并没有真正的分离,此时已然可以通过22号端口使用ssh服务和sftp服务,而新开的20022端口也可以使用ssh服务(ssh
-p 20022 username@serverip )和sftp服务(sftp -o Port=20022
username@serverip )。

4、关闭22号端口下的sftp服务
编辑/usr/sbin/sshd的配置文件/etc/ssh/sshd_config文件,将Subsystem参数注释掉,然后重启sshd
同时也可以设置可访问22号端口的用户白名单:
编辑/etc/ssh/sshd_config文件,设置AllowGroups参数(假设设置为AllowGroups  sshonly),限制仅AllowGroups组内的用户可通过22号端口ssh登录系统(对于需要ssh登录系统的用户可通过usermod  -A  sshonly  <username>将其加入到AllowGroups组内)

5、“关闭20022号端口下的ssh服务”
sftp作为一个子服务,它的开启依赖于ssh服务,因此不能从本质上关闭ssh服务而只开启sftp服务。
可以用以下方式来规避:
/usr/sbin/sftpd的配置文件/etc/ssh/sftpd_config中包含Subsystem参数配置(推荐使用Subsystem  sftp  internal-sftp  -l  INFO  -f  AUTH)
/etc/ssh/sftpd_config中包含AllowGroups参数(假设为AllowGroups  sftponly),限制仅AllowGroups组内的用户可以访问20022端口
将AllowGroups组内的用户的shell改为/bin/false(usermod -s /bin/false  <username>),使AllowGroups组内的用户仅能sftp登录系统(如果一个用户即需要ssh,又需要sftp,则不能将其shell改为/bin/false)

6、用户白名单配置
配置之后,需将系统内需要ssh访问系统的用户加入到sshonly组内,需将系统内需要sftp访问系统的用户加入到sftponly组,同时需要ssh和sftp的用户则sshonly和sftponly组都要加入。

7、 重启ssh服务和sftp服务,并设置开机启动

service sshd restart
service sftpd restart

你的意思是使用LINUX的DNS服务器,而你的客户机要登录到WINDOWSAD,是吧?从理论上可以。只要你在LINUX的DNS服务器上将WINDOWSAD所需要使用的所有记录均按照规则创建上。

你可以试试下面的方法,把sftp内的 *** 作都写到EOF里面
sftp -oPort=$PORT $USERNAME@$IP <<EOF
cd $FTP2DIR
mkdir $DATA_DATE
cd $DATA_DATE
put $EXPORT_LOCAL_DIR/$data_file_name
put $EXPORT_LOCAL_DIR/$verf_file_name
exit
close
bye
EOF

密钥用于建立SSH互信环境,本地公钥需要分发到远端服务器目录,可实现本地主机到远端SFTP服务器的无访问
1 生成密钥对,取得本地公钥,如:id_dsapub
2 登录到远端SFTP服务器用户HOME目录的ssh文件夹
3 将id_dsapub的内容追加到远端服务器ssh/autorized_keys文件尾部并保存
4 尝试与本地主机用户SFTP到远程服务器: sftp user@server_addr

远程管理Linux服务器,目前来说有2种方式,一种是命令行管理,一种是桌面管理,下面我简单介绍一下,感兴趣的朋友可以尝试一下:

命令行管理

这里主要是借助终端软件来实现,通过ssh远程登录到Linux服务器,然后执行相关命令来完成对Linux服务器的管理,这是最常见也是最主要的管理Linux服务器的方式,至于终端软件的话,这个就非常多啦,下面我简单介绍几个:

mobaxterm

这是一个非常轻巧灵活的终端软件,在业界非常受欢迎,不仅支持ssh、telnet远程登录Linux服务器,还支持ftp、sftp等文件传输协议,除此之外,还可以进行vnc、rdp、xdmcp远程桌面连接,对于日常管理Linux服务器来说,是一个非常不错的软件:

finalshell

这是一个国产免费的终端软件,支持跨平台使用,不仅是一个功能强大的ssh客户端,还是一个功能强大的运维和管理工具,可以很方便的上传、下载文件,还可以实时观察到服务器的负载情况(包括内存和CPU的使用率等),对于管理Linux服务器来说,也是一个非常不错的选择:

xshell

这也是一个使用非常广泛的终端软件,基本功能和前面2个终端软件相差不多,支持ssh、telnet、rlogin等远程登录,内建多标签和多终端分屏,可以很方便的使用ftp,sftp等协议上传下载文件,对于日常管理Linux服务器来说,也是一个非常不错的软件:

桌面管理

这里主要是借助远程桌面控制软件来实现,分别在本地和Linux服务器端安装远程桌面控制软件,然后验证登录,成功后就可以直接 *** 作Linux服务器了,至于远程桌面控制软件的话,这个也就非常多啦,下面我简单介绍几个:

向日葵

这是一个国产的远程桌面控制软件,只需要在本地端和Linux服务端同时安装这个软件,然后在本地端输入Linux服务器端唯一的识别码,验证成功后,就可以直接远程桌面 *** 作Linux服务器了,和 *** 作本地系统的效果是一样:

teamviewer

这也是一个不错的远程控制软件,基本功能和向日葵差不多,个人使用完全免费,也需要在本地端和Linux服务器端同时安装这个软件,然后在本地端输入Linux服务器端的ID和密码,验证成功后,就可以远程桌面 *** 作Linux服务器了:

anydesk

这是一个非常轻巧灵活的远程桌面控制软件,安装包非常轻巧,大概也就28兆,直接双击就可启动,使用方式和前面2个软件类似,也需要在本地端和Linux服务器端同时安装这个软件,然后在本地端输入Linux服务器端唯一的连接地址,成功验证后,就可直接远程 *** 作Linux服务器了:

目前,就介绍这2种管理Linux服务器的方式吧,最主要的还是终端命令行,更轻便灵活,适合于专业人士,远程桌面控制也有,但使用的比较少,适合于普通用户,只要你熟悉一下上面的软件,多 *** 作几遍,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

这里以命令行连接为例,简单介绍几个非常不错的终端软件,对于日常连接和管理linux服务器来说,非常有用,感兴趣的朋友可以自己尝试一下:
putty
这是一个轻巧灵活的终端软件,最新版本也就不到3M,完全免费开源,集成了SSH、Telnet、rlogin等客户端工具,可以很方便的进行连接和管理linux服务器,如果你追求简约轻巧,对终端功能要求不高,可以考虑使用一下这个软件,非常不错:
finalshell
这是一个非常不错的国产终端软件,支持多平台,完全免费,不仅是SSH客户端,而且还是功能强大的开发和运维工具,可以实时观察到linux服务器的运行状态和负载情况,文件上传和下载也非常方便,对于日常连接和管理linux服务器来说,也是一个非常不错的选择:
securecrt
这也是一个非常不错的终端软件,集成了SSH、Telnet等远程连接客户端,同时自带有文件传输工具,文件上传和下载都非常容易,多窗口切换、界面风格设计都非常不错,对于日常管理linux服务器来说,也是一个非常不错的选择:
mobaxterm
这是一个非常全能的终端软件,个人使用完全免费,不仅可以SSH远程连接linux服务器,而且还可以使用SFTP、SCP 等协议进行文件传输,支持多终端分屏和内建标签,除此之外,还支持VNC、RDP、Xdmcp 等远程桌面连接,对于日常管理linux服务器来说,可以说是一个利器:
xshell
这也是一个使用非常广泛的终端软件,家庭学校版完全免费,基本功能和前面的终端软件差不多,支持多窗口切换以常见的SHH,Telnet,SFTP等协议,文件上传下载也非常容易,对于日常管理linux服务器来说,也是一个非常不错的选择:
目前,就分享这5个不错的终端软件吧,对于日常连接和管理linux服务器来说,完全够用了,当然,你也可以使用桌面连接管理linux服务,像vnc等也都非常不错,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
一般情况下 ,连接Linux服务器可能会有两种方式连接: 通过图形化界面或者命令行方式的。
图形化的界面可以在服务器上安装vnc-server 服务端程序,客户端使用VNC Viewer来接入图形化界面
命令行方式一般通过SSH 协议来登陆
支持SSH协议的客户端程序非常多,
2windows
例如:
非常简洁的putty,
常用的 SecureCRT
Xshell
以上个人观点供参考,有不足之处还望指正。
1)明确你自己的 *** 作系统,不同 *** 作系统的工具不同

2)工具这个,一般都会在你服务器那里有说明的,可以去查看下

3)服务器的系统 也决定了 可以用什么工具 ,如果服务器是windows系统, windows自带等我远程桌面连接就可以

4)购买服务器时,有预装应用镜像,可以选择

ssh连接的话xshell或者crt还有国产的finashell。图形化的话VNC


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10577225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存