远程连接服务器的类型                
文字接口

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

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

ssh提供两个服务器功能:1.类似于telnet;2.类似于ftp的sftp-server(安全)

图形接口

XDMCP远程控制、VNC(RFB)、

XRDP(RDP3389)远程桌面

加密分为对称加密和非对称加密

对称加密:不安全但节约资源,效率高。同一秘钥既可以进行加密也可以进行解密。(双向传输)

非对称密钥:(单向认证)

公钥(public key):提供给远程主机进行数据加密的行为,所有人都可获得你的公钥来将数据加密;

 私钥(private key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。私钥只有自己拥有,耗费资源。

公钥加密and私钥解密

远程登陆的加密技术的过程:

第一阶段:TCP三次握手版本协商过阶段

SSH1和SSH2两个版本,双方通过版本协商确定使用的版本。服务端向客户端发送报文协商版本,客户端查看版本是否对上。

第二阶段:协商算法和确定对称秘钥阶段

SSH支持多种加密算法,双方根据本端和对端支持的算法,协商出最终使用的算法

确认秘钥和加密算法;进行秘钥交换

第三阶段:认证阶段

SSH客户端向服务端发起认证请求,服务端对客户端进行认证

(分为基于口令认证和基于公钥认证)

第四阶段:会话请求阶段

认证通过后,客户端向服务器端发送会话请求,建立新的连接

第五阶段:交互会话阶段

会话请求通过后,服务器端和客户端进行信息的交互

SSH的配置

/etc/ssh/sshd_config里面的配置信息

Port 22 默认监听22端口
AddressFamily any IPV4和IPV6协议家族
ListenAddress 0.0.0.0 指明监控的地址,0.0.0.0表示本机的所有地址
ListenAddress ::  指明监听的IPV6
HostKey /etc/ssh/ssh_host_rsa_key rsa私钥认证
HostKey /etc/ssh/ssh_host_dsa_key dsa私钥认证
HostKey /etc/ssh/ssh_host_ecdsa_key  ecdsa私钥认证
HostKey /etc/ssh/ssh_host_ed25519_key  ed25519私钥认证
SyslogFacility AUTHPRIV ssh的登录信息保存在/var/log/secure里面
LoginGraceTime 2m  登录的宽限时间
PermitRootLogin yes 是否允许管理员远程登录
MaxAuthTries 6  最大认证尝试次数
MaxSessions 10  允许的最大会话数
AuthorizedKeysFile .ssh/authorized_keys 公钥放到.ssh/authorizd_keys
PasswordAuthentication yes 是否允许支持基于口令的认证
ChallengeResponseAuthentication no 是否允许xshell的第三个登录方式
UseDNS yes 是否反解DNS
Subsystem sftp /usr/libexec/openssh/sftp-server 支持 SFTP
AllowUsers user1 user2 登录白名单

ssh命令

创建密钥对:

ssh-keygen

复制该公钥文件到服务端的该目录下:

ssh-copy-id root@192.168.150.139

在本地服务器上登陆对端服务器:

ssh root@192.168.150.139

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐