SSH远程连接服务器
1.什么是远程连接服务器 ?
远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口
SSH(Secure Shell)协议(默认端口是 22)
| 软件 | 平台 | 特点 |
|---|---|---|
| OpenSSH | Linux/macOS/Windows | 系统自带,加密的,最常用,命令行 |
| Dropbear | 嵌入式系统 | 轻量级SSH服务器 |
| Bitvise SSH | Windows | 商业版,图形界面增强 |
RDP(远程桌面协议)(默认端口是 3389)
| 软件 | 平台 | 特点 |
|---|---|---|
| Windows 远程桌面 | Windows | 系统原生,企业环境标准 |
| xrdp | Linux | 开源RDP服务器,兼容Windows客户端 |
VNC(虚拟网络计算)(默认端口是 5900)
| 软件 | 平台 | 特点 |
|---|---|---|
| TigerVNC | 跨平台 | 高性能,Red Hat/CentOS默认 |
| RealVNC | 跨平台 | 商业版,企业功能丰富 |
| TightVNC | 跨平台 |
轻量级,带宽优化 |
2.SSH基础概念
1、**定义与作用**:SSH是一种加密网络协议,用于在不安全网络中建立安全的远程连接,替代明文传输的Telnet、FTP等协议。
2、**核心功能**:远程服务器登录、命令执行、文件传输(SCP/SFTP)、端口转发等。
3、**版本差异**:
SSH-1:早期版本,存在安全漏洞,已不推荐使用。
SSH-2:目前主流版本,采用更安全的加密算法和认证机制,与SSH-1不兼容。
3.SSH客户端工具
-
命令行工具:
-
OpenSSH(Linux/macOS 内置):
ssh(登录)、scp(文件传输)、sftp(交互式文件传输)、ssh-keygen(生成密钥对)等。 -
PuTTY(Windows):图形化工具,支持 SSH、Telnet 等协议。
-
-
图形化工具:
-
Xshell、FinalShell:功能丰富,支持多标签、会话管理、密钥认证等。
-
FileZilla:通过 SFTP 协议管理远程文件
-
4.SSH服务器配置
1、主流服务器软件:OpenSSH Server
2、核心配置文件:
-
Linux:
/etc/ssh/sshd_config、/etc/ssh/ssh_config。
3、关键配置项:
-
端口修改(
Port,默认 22,建议自定义提高安全性)。 -
禁用密码认证(
PasswordAuthentication no),强制公钥认证。 -
禁用 root 直接登录(
PermitRootLogin no),通过普通用户 sudo 提权。 -
限制允许登录的用户或组
实验一 修改ssh端口号
[root@localhost ~]# vim /etc/ssh/sshd_config
[root@localhost ~]# systemctl --now disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# systemctl restart sshd
实验二
拒绝root用户远程连接(至少有一个登录的远程账号)
[root@localhost ~]# vim /etc/ssh/sshd_config.d/01-permitrootlogin.conf
[root@localhost ~]# systemctl restart sshd

将yes改为no
实验三 linux客户端通过秘钥登录linux服务端root用户
[root@localhost ~]# ssh-keygen -t rsa
[root@rhce ~]# vim /root/.ssh/id_rsa
[root@rhce ~]# vim /root/.ssh/id_rsa.pub
[root@rhce ~]# ssh root@192.168.234.129
[root@localhost ~]# #原本为rhce
认证方式









