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