目录
SSH
SSH的定义
SSH连接方式
黑白名单
同时允许与静止一个用户访问实验
scp(远程复制)
sftp(远程上传与下载)
sftp实验操作
登录的验证方式
密钥对
rsa密钥对操作
TCP Wrappers
SSH是一种加密的网络协议,用于安全地远程连接和管理计算机系统。它提供了通过不安全网络的加密通信,以及在客户端和服务器之间建立身份验证和数据传输的机制。
SSH服务是在Linux操作系统中运行的守护进程或服务,并监听特定的TCP端口(默认为22),以便接受来自远程终端或其他计算机的连接请求。
通过SSH服务,用户可以远程登录到Linux系统,并以类似于本地终端的方式使用该系统。它提供了一种安全的替代方式,使用户能够在不直接物理访问计算机的情况下进行远程管理和执行命令。
1.打开终端:在Linux系统中,打开终端窗口。这可以通过单击启动器上的终端图标或使用快捷键组合(通常是Ctrl + Alt + T)来完成。
2.使用ssh命令:输入以下命令以建立SSH连接:
ssh username@remote_host
其中username
是要登录到远程主机的用户名,remote_host
是远程主机的IP地址或域名。例如,如果要连接到位于192.168.142.22上的远程主机,并使用用户名为"lcm",则命令将是:
ssh [email protected]
如果该远程主机具有指定端口号,则可以使用 -p
选项来指定端口号,例如:
ssh -p 2022 [email protected]
3.输入密码:连接成功后,您将被提示输入远程主机上的密码。输入密码时不会显示任何字符,但您可以正常输入。完成后,按Enter键继续。
4.接受密钥指纹(可选):首次连接到远程主机时,您可能会收到关于主机身份验证的警告和指纹信息。您可以验证指纹是否正确并选择接受(注意:确保您连接到正确的主机)。一旦接受了指纹,将会在您之后每次连接时自动验证。
5.连接成功:如果凭据验证成功,您将会看到与远程主机上的终端类似的提示符,并可以在远程主机上执行命令。
Linux ssh服务可以通过配置黑白名单来控制哪些IP地址可以访问该服务,以下是具体操作步骤:
1.打开SSH服务器配置文件:sudo nano /etc/ssh/sshd_config
2.配置白名单:在文件末尾添加以下行:
# 允许的IP地址
AllowUsers [email protected] [email protected]
这里的IP地址可以是单个IP地址,也可以是IP地址段,例如192.168.142.0/24。
3.配置黑名单:在文件末尾添加以下行:
# 禁止的IP地址
DenyUsers [email protected] [email protected]
同样,这里的IP地址可以是单个IP地址,也可以是IP地址段。
保存并退出配置文件,重启SSH服务:sudo service ssh restart
注意事项:
SCP是一种在Linux系统中用于安全文件传输的协议。它基于SSH协议,提供了对文件的加密和高度安全的传输。
SCP使用客户端-服务器模型,其中一个主机充当服务器,其他主机则作为客户端进行文件传输。与FTP不同,SCP在文件传输过程中使用SSH加密算法对数据进行加密,确保传输过程的安全性。
SCP支持从本地主机向远程主机传输文件,也支持从远程主机下载文件到本地主机。它可以在终端命令行中使用,具有简单且易于使用的语法。
要使用SCP,需要知道远程主机的IP地址、用户名和密码。可以使用以下语法进行SCP文件传输:
scp [选项] [原路径] [目标路径]
其中,选项可以包括:
-r
:递归复制目录及其子目录。-P
:指定远程主机的端口号。-C
:开启压缩传输,减少传输时间。-p
:保留源文件的修改时间、访问时间和权限。例如,要将本地文件 lcm.txt
复制到远程主机的 /opt/123/
目录下,可以使用以下命令:
scp lcm.txt user@remotehost:/opt/123/
这将通过SSH连接远程主机,并将文件lcm.txt复制到远程主机的/opt/123目录下。
总的来说,SCP提供了一种安全、高效的文件传输方式,在Linux系统中广泛使用。
SFTP是一种安全的文件传输协议,用于在远程计算机之间传输文件。它结合了SSH的强大的加密功能和FTP的文件传输功能,并提供了对数据的完整性校验、权限管理和访问控制。
Linux操作系统提供了内建的SFTP服务器实现,通常是通过OpenSSH进行支持。要启用SFTP服务,需要确保已经安装了OpenSSH软件包,并且SSH服务器已经正常运行。
下面是使用Linux SFTP服务的基本步骤:
确保你的Linux系统上已经安装了OpenSSH软件包。如果没有安装,可以使用包管理器(如apt、yum、dnf等)来安装该软件包。
启动SSH服务。运行以下命令以启动/重启SSH服务器:
systemctl start ssh
sftp -P 端口号 用户名@ip地址
1.密码验证
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解,暴力破解可看之前博客有详细描述系统弱口令检测
2.密钥对验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),
然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。
能增强安全性,且可以免交互登录。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。
在 Linux 上进行远程连接时,可以使用密钥对来实现更安全的认证方式。下面是配置步骤:
在本地生成密钥对:
打开终端并输入命令 ssh-keygen -t rsa //
-t:指定密钥的算法类型
按提示输入保存密钥的路径和名称
可以选择设置一个密码来保护私钥,这是可选项。
复制公钥到远程服务器:
使用以下命令将公钥复制到远程服务器:ssh-copy-id -i id_rsa.pub username@remote_host
如果无法使用 ssh-copy-id
命令,请手动复制本地计算机上 .ssh/id_rsa.pub
文件的内容,并将其粘贴到远程服务器上 ~/.ssh/authorized_keys
文件的末尾。
免交互:
ssh-agent bash
ssh-add
TCP Wrappers是一种用于访问控制的Linux网络服务。它通过检查网络连接请求的来源和相关信息,来决定是否允许或拒绝连接。
当一个外部主机尝试建立与TCP Wrappers保护的服务之间的连接时,TCP Wrappers会首先检查客户端的IP地址、域名以及其他附加条件(如登录用户名)。然后,基于预定义的规则,在允许或拒绝连接之间进行决策。
该功能可以通过以下组件提供:
/etc/hosts.allow
文件:指定允许连接到特定服务的客户端列表。/etc/hosts.deny
文件:指定拒绝连接到特定服务的客户端列表。这两个文件采用通配符和模式匹配的方式,可以精确地控制连接的允许和拒绝范围。在配置文件中可以使用常用的IP地址、域名、子网掩码等方法来描述客户端。
TCP Wrappers不仅可以保护诸如SSH、FTP和Telnet等常见服务,还可用于其他被路由器,防火墙或其他设备作为代理服务器上的服务。
总体而言,TCP Wrappers是一种强大且灵活的工具,用于增强系统的安全性,并提供了细粒度的网络访问控制。