Linux下sshd服务、服务管理命令及sshd服务环境搭建

1. linux中服务管理与控制(以sshd为例)

(1)什么是服务

可以用来给客户提供相关操作,对自己没有什么好处,因为服务开的越多,被攻击的可能就越大;

(2)用什么控制服务

系统初始化进程可以对服务进行相应的控制

(3)进程控制命令

ssh -------->sshd(ssh用为客户端,主要进行服务器端的连接;sshd用为服务器端)

systemctl              ##服务控制命令

systemctl start sshd   ##开启服务

systemctl stop sshd    ##关闭服务

systemctl restart sshd ##重启服务

systemctl reload sshd  ##重新加载服务配置

systemctl enable sshd  ##设定服务开机启动

systemctl disable sshd ##设定服务开机不启动

systemctl list-units   ##列出已经开启服务当前状态

systemctl list-dependencies ##列出服务的倚赖

systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)

systemctl set-default graphical.target  ##设定系统启动级别为图形模式

systemctl status sshd  ##查看服务状态,inactive(不可用),active(可用)

2. sshd服务

(1)SSH介绍

ssh为secure shell的简称;可以通过网络在主机中开启shell的服务;

SSH是应用层的安全协议。目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

(2)连接方式(在客户端)

      ssh [email protected]  #文本模式

      ssh -X [email protected]  #可以在链接成功后开启图形界面

(3)注意

      第一次链接陌生主机是要建立认证文件,然后会询问是否建立,需要输入yes

      再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes

3. SSH远程登录环境的搭建

实验环境:

      SSH_server:linux rhel6.5,IP地址:192.168.10.10(用户为:lisi,zhaoliu)

      SSH_client:linux rhel6.5,IP地址:192.168.10.20(用户为:zhangsan,wangwu)

实验步骤:

(1)前期配置

1.1> 配置SSH_server端IP,并重启网络服务;

1.2> 配置SSH_client端IP,并重启网络服务;

1.3> 在SSH_server端创建用户lisi;

1.4> 在SSH_client端创建用户zhangsan;

(2)安全性较低,身份验证

用密码验证的方式远程登录服务器,安全性较低;

为了提高安全性,可以采用公钥验证的方式进行远程登录服务器

(3)安全性较高,公钥验证

3.1> 在客户机上创建密钥对,并输入私钥短语;

3.2> 查看客户端生成的密钥对文件;

3.3> 在服务器端登录lisi账户,并创建.ssh文件夹,存放上传到服务器的公钥文件;

3.4> 将公钥上传至服务器;

3.5> 测试公钥认证方式,以管理员权限修改配置文件,启用公钥验证,禁用密码验证,并重启ssh服务;

3.6> 由于/home/lisi/.ssh目录的所属组的权限过大,将会拒绝公钥验证,所以,去掉所属组的w权限;

3.7> 在客户端以公钥认证的方式远程连接服务器;成功登录到lisi账户;

猜想:是否知道了zhangsan用户的.ssh文件,就可以欺骗性的登录到服务器呢?

3.8> 在客户端创建新的用户wangwu;

3.9> 将zhangsan用户的密钥对文件复制给wangwu用户家目录下,并将该文件的权限改为wangwu;

3.10> 在客户端以wangwu的身份登录服务器,如果wangwu用户知道了zhangsan的密钥短语(得到密钥对文件,就可以采用暴力破解的方式得到私钥短语),就可以成功登录到服务器;

(4)限制被登录的用户(服务器端的用户)

4.1> 在服务器创建新用户zhaoliu;并将lisi家目录中的公钥库拷贝到zhaoliu家目录中;

4.2> 验证客户端用户是否可以远程登录zhaoliu;

4.3> 在服务器端修改配置文件/etc/ssh/sshd_config,限制被登录的用户(服务器端的用户)

4.4> 在客户端进行登录验证;