目录
终端
- 终端:接受用户的指令
- TTY终端:不能远程
- 虚拟终端 ( xshell ):借助ssh协议远程连接某一个主机,实际上是获取了一个该主机的shell
- ssh:22,SSH提供了加密、身份验证和数据完整性保护,使得远程访问更加安全可靠
- telnet:23,Telnet (Telecommunication Network)是一种基于文本的协议,Telnet在传输过程中不加密数据,因此所有通过Telnet传输的数据(包括用户名和密码)都以明文形式发送,容易受到网络窃听和中间人攻击的威胁。
- 解释器:shell,终端上执行命令和程序的程序。它接收用户输入的命令,并将其发送给操作系统进行处理虚拟终端:借助ssh协议远程连接某一个主机,实际上是获取了一个该主机的shell
OpenSSH服务器
SSH(Secure Shell)协议
- 是一种安全通道协议
- 对通信数据进行了加密处理,用于远程管理
OpenSSH
- 服务名称:sshd
- 服务端主程序:/usr/sbin/sshd
- 服务端配置文件:/etc/ssh/sshd_config
服务监听选项
- 端口号,协议版本,监听IP地址
- 禁用反向解析
SSH配置
修改端口号
监听sshd进程,当前端口号为22
关闭内核安全机制,重启服务,更新配置参数
ssh是一个安全机制,是受到内核保护的,一旦该服务的核心参数(端口号)被修改,内核安全机制就会生效,不允许重启sshd服务
如果当前把Xshell与虚拟机断开连接,在102主机上再重新连接
因为端口号被修改,所以要使用新的端口1234与虚拟机建立连接
会显示没有到达该主机的路由,其实跟路由没关系,是101主机的防火墙拦截了流量
那为什么之前使用22端口的时候防火墙不拦截呢?因为在默认情况下,防火墙不拦截22端口的流量,可以添加防火墙的流量策略,或者直接关闭防火墙
用户登录控制
指定用户登录
严格模式
最大会话数量
公钥验证
公钥验证是SSH服务器用来验证用户身份的一种方法,通过比对用户提供的公钥和服务器上已注册的公钥信息来确认用户的身份。
配置文件中的 PubkeyAuthentication 选项用于启用或禁用公钥验证,而 AuthorizedKeysFile 选项则用于指定存储用户公钥的文件路径。
使用公钥认证让客户端登录系统
在102客户端主机上使用ssh-keygen命令生成密钥文件,-t选项指定密钥类型,这里指定为RSA算法生成密钥
密钥文件存放位置:用哪个用户登录就放到哪个用户的家目录,这里用的是r00t登录,使用默认路径,直接回车
系统会询问你是否要为私钥文件设置密码。如果你希望私钥文件受到保护,只能在输入密码后才能使用,你可以输入密码并按下回车键。如果你不想设置密码,可以留空密码字段直接按下回车键。如果设置了密码,在登录服务器主机时还会要求你确认密码。
生成过密钥文件后就可以去对应目录下查看密钥文件
- 私钥文件(id_rsa):私钥文件应该被妥善保管,只有持有者可以访问。私钥用于解密从公钥加密的数据,并且也用于对数据进行数字签名。
- 公钥文件(id_rsa.pub):公钥文件可以被分享给其他人或远程服务器。公钥用于加密数据或验证由私钥签名的数据。
- 一个私钥文件对应一个公钥文件,一起构成了密钥对
- 如果要以密钥的形式登录用户,就需要密钥对
然后通过ssh-copy-id命令将公钥文件拷贝生成到服务器的 authorized_keys 文件中
authorized keys 文件是SSH服务器端用于存储被授权的公钥的文件。当一个用户尝试通过SSH连接到服务器时。
服务器会检査该用户的authorized keys文件,以确定是否允许该用户进行身份验证
如果连接请求中包含的公钥在authorized keys中找到匹配项,那么连接就会被允许
域名解析
- yes : 表示启用反向DNS解析。当客户端连接到SSH服务器时,服务器会解析客户端的IP地址并获取对应的域名信息。但会增加连接的时间。
- no : 表示禁用反向DNS解析。当设置为n0时,SSH服务器不会进行DNS解析,会减少连接时的时间。
关闭域名解析,在登录系统时就会直接使用提供的IP来连接服务器,少了解析功能连接系统的速度就会变快
因为我们实验用的是私有地址192.168.10.101不用解析,所以设为n0或者注释掉
跨主机下载,上传文件
下载
比如你发布到公网上的一个服务器,你需要定期备份服务器上的某个很重要的文件
102主机把101主机上的某个文件下载到本地
指定端口下载
上传
指定端口上传
sftp功能
SFTP(Secure File Transfer Protocol)是一种基于SSH协议的安全文件传输协议,它提供了对远程文件系统进行操作的能力,并且在数据传输过程中提供了加密和认证功能
- 用户可以通过SFTP协议在客户端和服务器之间传输文件,包括上传、下载、删除、重命名等操作,使得远程文件管理变得非常方便。
- SFTP支持多种身份验证方式,包括密码认证和公钥认证,用户可以根据自己的需求选择适合的认证方式。
下载
上传
端口号被修改后跨主机上传下载文件
下载
上传
sftp指定端口操作
客户端修改端口
Irzsz工具时间快捷上传下载
该工具只针对于Xshell
下载
上传