SSHD服务安装管理及配置文件理解和安全调优
随着开源社区的日趋丰富,开源软件、开源服务,已经成为人类的一种公共资源,发展势头可谓一日千里,所以不可不知。SSHD服务,在我们的linux服务器上经常用到,很重要,涉及到服务器的安全,对这个服务的安全配置要高度重视。本文将从以下三个方面进行阐述开源服务及ssh服务。
- 一、学习开源服务的步骤和方法
- 二、SSHD服务安装、配置、使用
- 三、设置安全的SSHD服务
一、学习开源服务的步骤和方法:
1、 了解服务的作用:名称,功能,特点
2、 安装
3、 配置文件位置,端口
4、 服务启动关闭的脚本
5、 此服务的使用方法
6、 修改配置文件,实战举例
7、 排错(从下到上,从内到外)。
二、SSHD服务安装、配置、使用
SSHD服务
介绍:SSH 协议:安全外壳协议。为 Secure Shell 的缩写。SSH 为建立在应用层和传输层基础上的安全协议。
作用:sshd服务使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件
相比较之前用telnet方式来传输文件要安全很多,因为telnet使用明文传输,是加密传输。
服务安装:
需要安装OpenSSH 四个安装包:
OpenSSH软件包,提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
安装包:
OpenSSH 服务需要4 个软件包
openssh-askpass-5.3p1-118.1.el6_8.x86_64 #支持对话框窗口的显示,是一个基于X 系统的密码诊断工具
openssh-ldap-5.3p1-118.1.el6_8.x86_64 #这个包不是必须的,我在yum install openssh* -y 安装时,顺带将这个包装了。
openssh-5.3p1-118.1.el6_8.x86_64 #包含OpenSSH 服务器及客户端需要的核心文件
openssh-clients-5.3p1-118.1.el6_8.x86_64 #OpenSSH 客户端软件包
openssh-server-5.3p1-118.1.el6_8.x86_64 #OpenSSH 服务器软件包
这四个软件包在我们的RHEL镜像软件安装包里有。
[root@xiaolyu77 ~]# ll /mnt/Packages/openssh*
-r--r--r-- 3 root root 264144 Nov 25 2013 /mnt/Packages/openssh-5.3p1-94.el6.x86_64.rpm
-r--r--r-- 2 root root 55748 Nov 25 2013 /mnt/Packages/openssh-askpass-5.3p1-94.el6.x86_64.rpm
-r--r--r-- 3 root root 411336 Nov 25 2013 /mnt/Packages/openssh-clients-5.3p1-94.el6.x86_64.rpm
-r--r--r-- 3 root root 318860 Nov 25 2013 /mnt/Packages/openssh-server-5.3p1-94.el6.x86_64.rpm
[root@xiaolyu77 ~]#
说明:这里我给出我的xshell的配色方案,因为作为程序人,整天对着一个白底黑字还是黑底黄字,对眼睛的伤害非常大。
我的配色方案是眼科专家给出的,最利于眼睛保护的。xshell最佳配色方案下载 下载完成后,直接在xshell中导入即可。
可以到安科网资源站下载:
------------------------------------------分割线------------------------------------------
具体下载目录在 /2017年资料/6月/18日/SSHD服务安装管理及配置文件理解和安全调优/
------------------------------------------分割线------------------------------------------
yum install openssh* -y
因为我的openssh安装过,而我又配置了网络yum源,所以这里会更新旧的安装包。
确认软件包是否已经安装:
rpm -qa | grep openssh
查看软件安装生产的文件:
rpm -ql openssh
OpenSSH 配置文件
ll /etc/ssh
OpenSSH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/ssh/sshd_config。
ssh_config 为客户端配置文件
sshd_config 为服务器端配置文件
服务启动关闭脚本:
方法1:
service sshd restart/stop/start/status
方法2:
/etc/init.d/sshd restart/stop/start/status
设置开机启动服务:
chkconfig sshd on
chkconfig --list sshd
如何使用ssh来远程连接主机:
方法一、
1、ssh [远程主机用户名] @[远程服务器主机名或IP地址]
如果用root进程登录远程主机可以这样:就是直接写要登录远程主机的ip地址,不用带远程主机的用户名。
root用户登录:
[root@xiaolyu77 ~]# ssh 192.168.31.76
查看生成的knows-hosts文件。
cat .ssh/known_hosts
普通用户登录:
[root@xiaolyu76 ~]# useradd xiao && echo 123456 | passwd --stdin xiao
因为我第一次用root用户登录,.ssh/known_hosts文件已经生成,所以当我再用普通用户xiao登录时,不会出现RSA指纹签名的信息。
下面我删掉/root/.ssh/known_hosts文件,再用普通用户登陆一下。
重新换一个窗口登录77主机,发现/root/.ssh/knows_hosts文件又重新生成了。
总结:
1. 第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes 后登录,这时系统会将远程服务器信息写入用户目录下: $HOME/.ssh/known_hosts 文件中,下次再进行登录时因为保存有该主机信息就不会再提示了.
如果是root用户,known_hosts会写在/root/.ssh/known_hosts文件中。
2. RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
方法二、
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址]
[root@xiaolyu77 ~]# ssh -l xiao xiaolyu76
说明:两种登录方式效果相同,推荐第一种,因为第一种登录方法和大多数服务的登录方法相同,本人也习惯用第一种。