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
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)