首页 > 运维 > linux运维 > 正文

如何在 Linux 中设置 SSH 无密码登录?

爱谁谁
发布: 2025-07-22 11:06:01
原创
423人浏览过

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

如何在 Linux 中设置 SSH 无密码登录?

  1. 生成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系统默认关闭,请上传后登陆后台点击&ldquo;核心管理&rdquo;里操作如下:进入&ldquo;配置管理&rdquo;中的&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中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号