SSH连接的4个最重要的文件如果没有这个工具,远程登录到Linux服务器(或通过安全通道发送文件)可能会非常痛苦。然后你就得到了SSH,可以毫不犹豫地使用它了。但是对于Linux管理的新手来说,可能不清楚SSH是如何工作的。当然,您可以在您的计算机上发出此命令:sshjack@192.168.1.100您将登录并准备好处理工作。这种联系背后发生了什么?关键部分是什么?我认为将SSH分解为SSH连接最重要的四个文件是个好主意,这样您就可以更好地了解它的工作原理,从而可以开始使用该工具。让我们来看看那些关键文件。known_hosts这个文件对于SSH来说非常重要。~/.ssh/known_hosts文件包含您登录的计算机的SSH指纹。这些指纹是使用远程服务器的SSH密钥生成的。当通过SecureShell连接到远程计算机时,系统会询问您是否要继续连接(图A)。图A.连接还是不连接,这是个问题当您对此问题回答“是”时,远程主机指纹将保存到known_hosts文件中。密钥将显示为随机字符串。每个条目将以|1|开头(图B)。图B.一个已知的主机文件连接。发生的情况如下:1.您尝试通过客户端与远程服务器建立连接。2.远程服务器将其公钥发送给客户端。3.SSH客户端在~/.ssh/known_hosts中搜索密钥指纹。4.SSH客户端加载并验证密钥。5.进行用户验证6.如果验证成功,您将登录到远程计算机。此外,在该连接期间,如果未找到远程指纹,SSH客户端将询问您是否要继续,当您回答继续时,将指纹保存到~/.ssh/known_hosts。authorized_keys在~/.ssh目录下,还有一个名为authorized_keys的文件。此文件与known_hosts文件完全不同。authorized_keys包含从远程客户端复制到服务器的所有SSH身份验证密钥。这用于SSH密钥身份验证。为了使密钥身份验证正常工作,客户端的公钥被复制到远程服务器上的~/.ssh/authorized_keys文件中。最简单的方法是在客户端使用ssh-copy-id命令,如下所示:ssh-copy-idjack@192.168.1.100系统将提示您输入远程用户的密码。身份验证成功后,客户端的公钥将被复制到远程服务器上的~/.ssh/authorized_keys文件中。如果你打开文件,你会看到每个条目都以ssh-rsa开头,以客户端计算机的用户名@主机名结尾(图C)。图C.authorized_keys文件示例一旦将密钥保存到authorized_keys(在远程服务器上),您就可以使用SSH密钥身份验证登录到该服务器(从保存公钥的客户端登录)。ssh_config/etc/ssh/ssh_config文件是用于SSH的系统范围客户端配置的文件。此处看到的配置仅在使用ssh命令连接到另一台主机时才有效。您通常不需要编辑此文件。sshd_config另一方面,/etc/ssh/sshd_config文件是SSH守护进程的配置文件。在这里,您配置以下内容:默认SSH端口。公钥认证。root登录权限。密码验证。X11转发。例如,假设您只想允许密钥身份验证并禁用密码身份验证。在远程服务器上,按如下方式编辑sshd_config文件:将#PubkeyAuthenticationyes更改为Pubkeyauthenticationyes。将#PasswordAuthenticationyes更改为PasswordAuthenticationno。完成这些更改后,重新启动ssh服务,远程服务器将只允许来自在~/.ssh/authorized_keys中有条目的客户端计算机的连接。远程服务器上的authorized_keys文件中没有条目?然后进不去。理解那些文件如果你理解了以上四个文件,你就可以更好的使用SSH工具。您需要了解这些文件的工作原理吗?并不真地。但是,作为管理员,您将受益于对您使用的工具有更深入的了解。更多信息请阅读以下参考手册页:mansshmanssh_configmansshd_config原标题:SSH连接最重要的4个文件,作者:JackWallencom】
