Linux远程连接服务

远程连接服务器简介

远程连接服务器通过文字或图形接口方式来远程登录系统,让你在远程终端前登录linux主机以取得可操作主机接口(shell),而登录后的操作感觉就像是坐在系统前面一样。

远程连接服务器的功能

分享主机的运算能力

远程连接服务器的类型

(以登录的连接界面来分类)

文字接口

明文传输:Telnet、RSH等,目前非常少用

加密传输:SSH为主,已经取代明文传输

图形接口:XDMCP、VNC、XRDP等

文字接口连接服务器

SSH(Secure Shell Protocol,安全的壳程序协议)可以通过数据包加密技术将等待传输的数据包加密后再传输到网络上。ssh协议本身提供两个服务器功能:一个是类似telnet的远程连接使用shell的服务器;另一个就是类似ftp服务的sftp-server,提供更安全的ftp服务。

SSH协议

概念:SSH(Secure Shell),安全外壳协议,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可以在不安全的网络中对网络服务提供安全地传输环境,实现SSH客户端和SSH服务器的连接,所以SSH是基于客户端-服务器模式。

功能作用

通过使用SSH,可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现,而且也能够防止DNS欺骗和IP欺骗。还有一个好处就是,传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以替代Telnet,又可以为FTP、Pop,甚至为PPP提供和一个安全的"通道"。

服务组成

SSH服务由服务端软件OpenSSH和连接客户端(SSH、SecureCRT、xshell等)组成,默认端口是22。SSH是一个守护进程,负责实时监听客户端请求,并进行处理。

协议握手流程

SSHD服务

客户端 ssh 命令的用法

对称加密(密码加密)

非对称加密(密钥加密)

SSHD服务

客户端 ssh 命令参数

ssh 参数 远程主机用户 <ip|hostname>

-l #指定登陆用户

# ssh -l root 192.168.150.133

-i #指定私钥

-X #开启图形

# ssh -Xl root 192.168.150.133【链接开启调用图像】

-f #后台运行

# ssh -Xl root 192.168.150.133 firefox 【链接调用后台firefox,当前终端进程会卡住】

# ssh -Xl root 192.168.150.133 -f firefox【链接时候,终端进程不会卡死】

-o #指定连接参数

# ssh -l root -o "StricHostKeyChecking=no" 192.168.150.133【检测的时候输入yes】

-t #指定连接跳板

# ssh -l root 192.168.150.1 -t ssh -l root 192.168.150.133 firefox

sshd服务的安全优化

非对称加密优化

1~]# ssh-keygen 【生成密钥】

注意:如果需要可以 # ssh-keygen -f /root/.ssh/id_rsa -P "" 非交互生成密钥

上传密钥到服务器

# ssh-copy-id -i /root/.ssh/id_rsa [email protected] 【服务器上锁】

# ls /home/lee/.ssh/ 查看文件:

# vim /etc/ssh/sshd_config

# systemctl restart sshd

没有密钥,连接会被拒绝

2~]# ssh 192.168.150.133 -l lee 运行结果:

# mkdir ~/.ssh

1~]# scp /root/.ssh/id_rsa [email protected] 8 .150.132:/root/.ssh/id_rsa 【给与密钥】

# ls ~/.ssh 【查看文件】

# ssh 192.168.150.133 -l lee

常用安全优化参数

Port 2222 #设定端口为2222

1~]# setenforce 0 【设置selinux的状态为警告】

# netstat -antlulpe | grep sshd 查看端口结果:

# vim /etc/ssh/sshd_config 【改变端口】

# systemctl restart sshd

# firewall-cmd --permanent --add-port=2222/tcp 【火墙放行】

# firewall-cmd --reload

2~]# ssh -l root 192.168.150.133 显示结果:

# ssh -l root 192.168.150.133 -p 2222


PermitRootLogin yes|no #对超级用户登陆允许或禁止

1~]# vim /etc/ssh/sshd_config 【yes是允许超级用户登录,no是禁止】

# systemctl restart sshd 【重启才可以生效】

2~]# ssh -l root 192.168.150.133 【输入正确密码也无法登录】


PasswordAuthentication yes|no #是否开启原始密码认证方式

1~]# vim /etc/ssh/sshd_config

# systemctl restart sshd

2~]# ssh -l root 192.168.150.133 -p 22 运行结果:


AllowUsers lee #用户白名单

1~]# useradd lee

# useradd timinglee

# echo lee | passwd --stdin lee

# echo lee | passwd --stdin timinglee

# vim /etc/ssh/sshd_config

# systemctl restart sshd

2~]# ssh 192.168.150.133 -l lee 运行结果:

# ssh 192.168.150.133 -l timinglee


DenyUsers lee #用户黑名单

1~]# vim /etc/ssh/sshd_config

# systemctl restart sshd

2~]# ssh 192.168.150.133 -l lee 运行结果:

# ssh 192.168.150.133 -l timinglee

相关推荐
achene_ql8 分钟前
select、poll、epoll 与 Reactor 模式
linux·服务器·网络·c++
藥瓿亭9 分钟前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
千千寰宇24 分钟前
[数据传输/网络传输/序列化/计算机组成原理] 字节序/大小端
linux·计算机组成原理/硬件/半导体
LFloyue32 分钟前
Linux离线(zip方式)安装docker
linux·docker
liuzhenghua6640 分钟前
Python任务调度模型
java·运维·python
黎相思44 分钟前
应用层自定义协议与序列化
运维·服务器·网络
小前端大牛马1 小时前
java教程笔记(十一)-泛型
java·笔记·python
sjtu_cjs1 小时前
Tensorrt python api 10.11.0笔记
开发语言·笔记·python
Blue桃之夭夭1 小时前
深入理解Optional:处理空指针异常
linux·windows·microsoft
测试开发Kevin2 小时前
详解Jenkins Pipeline 中git 命令的使用方法
运维·jenkins