目录
一、SSH介绍
SSH(Secure Shell)是一种网络协议,用于在两个网络设备之间建立加密的、安全的连接。它被广泛用于远程管理、文件传输、VPN(Virtual Private Network)和数据存储等领域。
SSH协议主要包括两个组件:SSH客户端和SSH服务器。当您使用SSH客户端连接到一个SSH服务器时,客户端和服务器之间会建立一个安全的、加密的连接。这意味着,通过这个连接传输的所有数据都是加密的,包括用户名和密码等敏感信息。
SSH协议也支持公钥认证,这种认证方式比基于密码的认证更加安全。在公钥认证中,需要先在本地计算机上生成一个公钥和私钥,然后将公钥复制到远程服务器上。当尝试通过SSH连接到远程服务器时,服务器会检查提供的公钥是否与其存储在文件中的公钥匹配。如果匹配,则计算机将被允许登录到服务器。
二、SSH相关常用文件
2.1、/etc/ssh/sshd_config:配置SSH服务端,用于设置SSH服务器的各种参数和行为,例如监听的端口、允许登录的用户、认证方式、密码策略等。
2.2、/etc/ssh/ssh_config:配置SSH客户端,用于设置SSH客户端的行为和连接选项,例如默认使用的认证方式、连接超时时间、代理设置等。
/etc/ssh/sshd_config常见参数:
Port: 该参数指定SSH服务器监听的端口号。默认情况下,SSH服务器监听22端口,但是可以通过修改Port参数来指定其他端口号。
ListenAddress: 该参数指定SSH服务器监听的网络地址。默认情况下,SSH服务器会在所有网络接口上监听连接请求。但是可以使用ListenAddress参数来指定监听某个特定的网络接口。
2.3、~/.ssh/id_rsa:存放基于 RSA 算法的 SSH 私钥的默认路径,通常情况下,私钥文件应该具有严格的访问权限,只有拥有者可以读取和写入该文件,以保证私钥不被恶意获取。(如果是基于其他算法,例如基于ecdsa算法,那么私钥文件为~/.ssh/id_ecdsa)
2.4、~/.ssh/id_rsa.pub:存放基于 RSA 算法 SSH 公钥的文件路径,公钥文件是可以公开和共享的,可以在需要进行 SSH 公钥认证的场景下提供给其他人或系统管理员。(如果是基于其他算法,例如基于ecdsa算法,那么私钥文件为~/.ssh/id_ecdsa.pub)
三、SSH常用命令
ssh: 这是最基本的SSH命令,用于建立与远程服务器的安全连接。
ssh user@hostname #user是登录远程服务器的用户名,hostname是远程服务器的主机名或IP地址
ssh-keygen: 用于生成SSH密钥对(公钥和私钥)。
ssh-keygen -t rsa #将生成一个RSA密钥对
ssh-copy-id: 将本地公钥复制到远程服务器,以实现无密码登录。
ssh-copy-id user@hostname #这将将本地公钥复制到远程服务器上的用户目录下的
~/.ssh/authorized_keys文件中。
scp: 用于在本地计算机和远程服务器之间复制文件。
scp local_file user@hostname:remote_location #将本地文件复制到远程服务器
scp user@hostname:remote_file local_location #将远程服务器上的文件复制到本地计算机
ssh-add: 将私钥添加到ssh-agent,以便在使用SSH时免去输入密码。
ssh-add ~/.ssh/id_rsa #将
id_rsa私钥添加到ssh-agent中
ssh-agent: SSH代理,用于管理和使用SSH私钥。
ssh-keyscan: 用于获取远程服务器的公钥。
ssh-keyscan hostname

本文详细介绍了SSH协议的概念、常用配置文件、命令操作,如MobaXterm和Xshell的连接,SCP与SFTP文件传输,以及SSH密钥对认证的过程,包括ssh-keygen的使用和密钥对的生成、传输与管理。

3612

被折叠的 条评论
为什么被折叠?



