1、远程连接服务器
1.1 远程连接服务器------通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操 作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。
1.2 功能------分享主机的运算能力
1.3 类型
- 文字接口
明文传输:Telnet、RSH等,目前非常少用
加密传输:SSH为主,已经取代明文传输 - 图形接口:XDMCP、VNC、XRDP等
1.4 文字接口连接服务器
SSH(Secure Shell Protocol,安全的壳程序协议)------可以通过数据包加密技术将等待传输的数据包加 密后再传输到网络上。
ssh协议本身提供两个服务器功能:
- 一个是类似telnet的远程连接使用shell的服务 器;
- 另一个就是类似ftp服务的sftp-server,提供更安全的ftp服务。
2、连接加密技术
2.1
对称加密:加密和解密用的是相同的密钥
非对称加密:有一把公钥,一把私钥
- 公钥(public key):提供给远程主机进行数据加密的行为,所有人都可获得你的公钥来将数据加密。
- 私钥(private key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。私钥 只有自己拥有。
2.2 在整个通讯过程中,为实现SSH的安全连接,服务端与客户端要经历如下五个阶段:
- 版本号协商阶段 ------SSH目前包括SSH1和SSH2两个版本,双方通过版本协商确定使用的版本
- 密钥和算法协商阶段 ------SSH支持多种加密算法,双方根据本端和对端支持的算法,协商出最终使用的算法
会话密钥的生成: - 认证阶段 ------SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证
- 会话请求阶段 ------认证通过后,客户端向服务器端发送会话请求
- 交互会话阶段 ------会话请求通过后,服务器端和客户端进行信息的交互
实验1:修改ssh服务的端口号
vim /etc/ssh/sshd_config
实验2:拒绝root用户远程登陆
修改配置文件 ------ PermitRootLogin no
实验3:允许特定用户ssh登陆,其他用户都无法登陆
编辑配置文件,在最后添加 ------AllowUsers USERNAME
实验 4 : linux 客户端通过秘钥登录 linux 服务端 root 用户
# 创建密钥对
[root@web ~] # ssh-keygen -t rsa
ssh-keygen 生成、管理和转换认证密钥 -t 制定类型 RSA
/root/.ssh/id_rsa 私钥文件
/root/.ssh/id_rsa.pub 公钥文件
# 复制该公钥文件到服务端的该目录下
[root@web ~] # ssh-copy-id root@192.168.40.132
# 在本地服务器上登陆对端服务器
[root@web ~] # ssh root@192.168.40.132