ssh(secure shell)是一种安全的网络协议,旨在通过不安全的网络进行安全的远程登录和命令执行。在linux系统中,利用ssh可以轻松地连接到远程计算机,并通过设置无密码登录来提升操作的便捷性和安全性。以下是如何在linux中配置ssh无密码登录的详细指南。

首先,我们需要创建一对SSH密钥,这包括私钥和公钥。私钥将保留在本地主机上,而公钥将被复制到远程主机上用于身份验证。
在终端中执行下列命令来生成SSH密钥对:
代码语言:shell复制```shell ssh-keygen -t rsa
<code>
生成命令会提示您输入密钥文件的保存路径和文件名,以及一个可选的密码(用于保护私钥)。如果您未指定路径和文件名,默认情况下将在 `~/.ssh` 目录下生成密钥文件 `id_rsa` 和 `id_rsa.pub`。
<ol start="2"><li><strong>将公钥复制到远程主机</strong></li></ol><p>接下来,我们需要将公钥复制到远程主机上,以进行身份验证。</p><p>在终端中执行以下命令,将公钥复制到远程主机(假设远程主机的IP地址为 <code>remote_host</code>,用户名为 <code>username</code>):</p><p>代码语言:shell<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制<code>shell ssh-copy-id username@remote_host</code></pre><p>执行该命令后,系统会要求您输入远程主机的密码。输入正确的密码后,公钥将被复制到远程主机上的 <code>~/.ssh/authorized_keys</code> 文件中。</p><p>如果 <code>ssh-copy-id</code> 命令不可用,您可以手动将公钥内容复制到远程主机的 <code>~/.ssh/authorized_keys</code> 文件中。使用以下命令将公钥复制到远程主机:</p><p>代码语言:shell<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制</code>shell
cat ~/.ssh/id_rsa.pub | ssh username@remote_host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'</p><pre class="brush:php;toolbar:false;"><code>
3. <strong>配置SSH连接</strong></p><p>一旦公钥成功复制到远程主机上,我们需要对SSH连接进行一些配置,以确保无密码登录的顺利进行。</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/code/8889">
<img src="https://img.php.cn/upload/webcode/000/000/004/175711680870388.jpg" alt="易森网络企业版">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/code/8889">易森网络企业版</a>
<p>如果您是新用户,请直接将本程序的所有文件上传在任一文件夹下,Rewrite 目录下放置了伪静态规则和筛选器,可将规则添加进IIS,即可正常使用,不用进行任何设置;(可修改图片等)默认的管理员用户名、密码和验证码都是:yeesen系统默认关闭,请上传后登陆后台点击“核心管理”里操作如下:进入“配置管理”中的&ld</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="易森网络企业版">
<span>0</span>
</div>
</div>
<a href="/xiazai/code/8889" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="易森网络企业版">
</a>
</div>
<p>打开SSH配置文件:</p><p>代码语言:shell<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制<code>shell sudo vi /etc/ssh/sshd_config</code></pre><p>确保以下设置被正确配置:</p><p>代码语言:shell<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制</code>shell
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no</p><pre class="brush:php;toolbar:false;"><code>
上述设置将启用RSA密钥身份验证,并禁用密码身份验证。</p><p>保存并关闭文件。重启SSH服务以使更改生效:</p><p>代码语言:shell<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="<a href="https://www.php.cn/link/c9041cfd2a40932691855abd98fd219a">http://www.w3.org/2000/svg"><path</a> clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制<code>shell sudo service ssh restart</code></pre><p><strong>无密码登录测试</strong></p><p>现在,您应该可以通过无密码登录的方式连接到远程主机。</p><p>在终端中执行以下命令来测试无密码登录(假设远程主机的IP地址为 <code>remote_host</code>,用户名为 <code>username</code>):</p><p>代码语言:shell<svg fill="none" height="16" viewbox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M4.5 15.5V3.5H14.5V15.5H4.5ZM12.5 5.5H6.5V13.5H12.5V5.5ZM9.5 2.5H3.5V12.5H1.5V0.5H11.5V2.5H9.5Z" fill="currentcolor" fill-rule="evenodd"></path></svg>复制</code>shell
ssh username@remote_host</p><pre class="brush:php;toolbar:false;"><code></p><p>如果一切顺利,您将能够无需输入密码即可成功登录到远程主机。</p><p><strong>总结</strong></p><p>通过设置SSH无密码登录,我们可以便捷地进行远程连接并提升远程主机的安全性。本文详细介绍了在Linux中设置SSH无密码登录的步骤,包括生成密钥对、将公钥复制到远程主机以及配置SSH连接。通过正确设置和使用SSH,您可以更加安全地管理远程主机,并提高工作效率。</code>以上就是如何在 Linux 中设置 SSH 无密码登录?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号