计算机网络/计算机科学与应用/系统/运维/开发

Linux熟练十一、远程链接服务器 SSH / XDMCP /VNC/XRDP

11.1、远程链接服务器 

1、什么是远程链接服务器 

可以通过文字或图形接口方式远程登录系统

(1)远程链接服务器的功能作用一

分享Unix-Like 主机运算能力 

 

(2)服务器类型 Server 有限度的开放连接

一般不建议开放远程链接服务

 

(3)工作站类型 只对内网开放

2、有哪些可供登录的类型

文字接口明文传输:Telnet RSH 比较少用

文字接口加密:SSH

图形接口:XDMCP VNC  XRDP 等

数据的明文传输与加密传输:

明文传输:数据包网络传输时,数据格式以原始格式传输

11.2、文字接口链接服务器 SSH服务器

SSH (Secure Shell Protocol)简写 安全的壳程序协议 

1、连接加密技术

目前常见的网络数据包加密技术通常是同所谓的 "非对撑秘钥系统"处理

公钥:Public Key 提供给远程主机进行数据加密的行为,大家都能取得公钥来将数据加密的意思

私钥:Private Key 远程主机使用你的公钥加密的数据,在本地端就能使用私钥进行解密

由于私钥很重要,私钥只能保存在自己的主机上

SSH 主要 利用 RSA/DSA/Diffie-Hellman等机制

2、启动SSH服务器

CentOS7中:

[root@localhost init.d]# systemctl restart sshd

# 查看ssh启动端口 

[root@localhost network-scripts]# netstat -tlnp | grep ssh

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1160/sshd           

tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      1210/sshd: root@pts 

tcp6       0      0 :::22                   :::*                    LISTEN      1160/sshd           

tcp6       0      0 ::1:6010                :::*                    LISTEN      1210/sshd: root@pts

3、ssh客户端连接程序 

(1)直接登录远程主机的指令

ssh [-f] [-o 参数项目] [-p 非标准端口] [账号@]IP [命令]

选项: 

-f 需要配合后面的命令 不登录远程主机 直接发送一个命令过去而已

-o 参数项目 

ConnectTimeout=秒数 链接等待的秒数 减少等待的时间

StrictHostKeyChecking = [yes|no|ask] 默认为ask,若让public key 主动加入known_hosts

则可以设置为no即可

-p  如果sshd服务启动在非标准的端口,需要使用此项目

[命令] 不登录远程主机,直接发送命令过去,但与-f意义不太相同

直接连接登录到对方主机的方法:

[root@localhost init.d]# ssh 127.0.0.1

The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.

ECDSA key fingerprint is SHA256:edLjPAoWeXpGkV2mRyYzvk2v9y8zmfQs4huF6WSo+sQ.

ECDSA key fingerprint is MD5:76:ab:be:c8:7a:0a:85:36:bc:cf:28:84:47:a3:f6:d9.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.

root@127.0.0.1's password: 

Last login: Tue Nov 12 08:52:12 2024 from 192.168.9.100

一般采用 "ssh 账号主机IP" 格式  或者 "SSH主机IP"

如果不写账号,那么会以本地端计算机的账号尝试登录远程

ECDSA key fingerprint is SHA256:edLjPAoWeXpGkV2mRyYzvk2v9y8zmfQs4huF6WSo+sQ.

表示远程服务器的公钥指纹码,如果确定指纹码没有问题,输入yes将公钥记录文件

(~/.ssh/known_hosts) 主机公钥已经被记录,未来重复使用ssh登录主机时,就不会出现指纹码提示了

[root@localhost ~]# ssh 127.0.0.1

root@127.0.0.1's password: 

Last login: Tue Nov 12 11:10:01 2024 from localhost

登录对方主机,执行过命令后立刻离开:

[root@localhost ~]# ssh zth@127.0.0.1 find / &> ~/find1.log

zth@127.0.0.1's password: 

# 如果此时画面卡主,但执行命令尚未完成,隐藏会等待

# 让对方主机自己运行该命令,你立刻回到本地端主机继续工作:

[root@localhost ~]# ssh -f zth@127.0.0.1 find / &> ~/find1.log

zth@127.0.0.1's password: 

# 此时会注销127.0.0.1 但find命令会自己在远程服务器运行 

重新使用root链接到本机,自动加上公钥记录

[root@localhost ~]# ssh -o StrictHostKeyChecking=no root@localhost

Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

root@localhost's password: 

Last login: Tue Nov 12 11:20:04 2024 from localhost

[root@localhost ~]# 

(2)服务器公钥记录文件: ~/.ssh/known_hosts


只要一个人还有追求,他就没有老。直到后悔取代了梦想,一个人才算老。熬过了必须的苦,才能过上喜欢的生活。

评论

^