1.1 远程连接服务器简介
1、什么是远程连接服务器
远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。
2、远程连接服务器的功能
分享主机的运算能力
服务器类型:有限度开放连接
工作站类型:只对内网开放
3、远程连接服务器的类型(以登录的连接界面来分类)
文字接口
明文传输:Telnet、RSH等,目前非常少用
加密传输:SSH为主,已经取代明文传输
图形接口:XDMCP、VNC、XRDP等
4、文字接口连接服务器
SSH(Secure Shell Protocol,安全的壳程序协议)它可以通过数据包加密技术将等待传输的数据包加密后再传输到网络上。ssh协议本身提供两个服务器功能:一个是类似telnet的远程连接使用shell的服务器;另一个就是类似ftp服务的sftp-server,提供更安全的ftp服务。
1.2 SSH提供两种认证方法:
基于口令的认证(password认证):客户端向服务器发出password认证请求,将用户名和密码加密后发送给服务器,服务器将该信息解密后得到用户名和密码的明文,与设备上保存的用户名和密码进行比较,并返回认证成功或失败消息。
基于密钥的认证(publickey认证):客户端产生一对公共密钥,将公钥保存到将要登录的服务器上的那个账号的家目录的.ssh/authorizedkeys文件中。认证阶段:客户端首先将公钥传给服务器端。服务器端收到公钥后会与本地该账号家目录下的authorizedkeys中的公钥进行对比,如果不相同,则认证失败;否则服务端生成一段随机字符串,并先后用客户端公钥和会话密钥对其加密,发送给客户端。客户端收到后将解密后的随机字符串用会话密钥发送给服务器。如果发回的字符串与服务器端之前生成的一样,则认证通过,否则,认证失败。
注:服务器端对客户端进行认证,如果认证失败,则向客户端发送认证失败消息,其中包含可以再次认证的方法列表。客户端从认证方法列表中选取一种认证方法再次进行认证,该过程反复进行。直到认证成功或者认证次数达到上限,服务器关闭连接为止
1.3练习
实验1.两台机器:第一台机器作为客户端,第二台机器作为服务器,在第一台使用rhce用户免密登录第二台机器
客户端IP:192.168.25.138
服务端IP:192.168.25.140
第一步:在客户端,生成公钥和私钥
ssh-keygen -t rsa -b 2048
第二步:使用本地可用的密钥授权远程计算机上的登录
ssh-copy-id -i root@192.168.25.140
第三步:尝试在服务端登录客户端
实验2.禁止root用户远程登录和设置三个用户sshuser1, sshuser2, sshuser3, 只允许sshuser3登录,不允许sshuser1, sshuser2登录
第一步创建三个用户
只允许sshuser3登录,不允许sshuser1和sshuser2登录
更改配置文件:
[root@yangfan ~]# vim /etc/ssh/sshd_config
在配置文件中添加下列两行:
AllowUsers sshuser3
PermitRootLogin no
登录测试
登录sshusre1
登录sshusre2
登录sshusre3