首页 > 系统相关 >如何在 Linux 中设置 SSH 无密码登录

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

时间:2023-08-27 23:11:52浏览次数:40  
标签:登录 192.168 密码 ssh Linux 服务器 SSH

SSH(Secure SHELL)是一种开源且可信的网络协议,用于登录远程服务器以执行命令和程序。

它还用于使用安全复制 (SCP) 命令和 rsync 命令通过网络将文件从一台计算机传输到另一台计算机。

本文中,我们将向您展示如何在基于 RHEL 的 Linux 发行版(例如 CentOS、Fedora、Rocky Linux 和 AlmaLinux)以及基于 Debian 的发行版(例如 Ubuntu 和 Mint)上设置无密码登录,使用 ssh 密钥连接到远程Linux服务器无需输入密码。

使用带有 SSH 密钥的无密码登录将增加两个 Linux 服务器之间的信任,以便轻松同步或传输文件。

我的设置环境

SSH Client : 192.168.0.12 ( Fedora 36 )
SSH Remote Host : 192.168.0.11 ( CentOS 8 )

如果您正在处理多个 Linux 远程服务器,那么 SSH 无密码登录是自动化任务的最佳方法之一,例如使用脚本自动备份、使用 SCP 命令同步文件以及远程命令执行。

在本例中,我们将设置 SSH 无密码自动登录,从服务器 192.168.0.12 以用户 howtoing 登录到 192.168.0.11 以用户 sheena 登录。

1. 创建身份验证 SSH-Keygen 密钥

首先使用用户howtoing登录服务器192.168.0.12,并使用以下命令生成一对公钥。

$ ssh-keygen -t rsa

2. 上传 SSH 密钥

从服务器 192.168.0.12 使用 SSH,并在服务器 192.168.0.11 的 sheena 的 .ssh 目录下上传新生成的公钥(id_rsa.pub),文件名为authorized_keys。

$ ssh-copy-id [email protected]

确保对远程服务器上的 ~/.ssh 目录和 ~/.ssh/authorized_keys 文件设置正确的权限。

$ ssh [email protected] "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

3. 禁用密码验证(可选)

为了提高安全性,您可以在远程服务器上禁用密码身份验证,仅允许 SSH 密钥身份验证。为此,请打开远程服务器上的 SSH 服务器配置文件:

$ sudo nano /etc/ssh/sshd_config
OR
$ sudo vi /etc/ssh/sshd_config

找到包含PasswordAuthentication 的行并将其设置为no。

PasswordAuthentication no

保存文件并重新启动 SSH 服务。

$ sudo systemctl restart sshd

4. 测试 SSH 无密码登录

从现在开始,您可以以 sheena 用户身份从服务器 192.168.0.12 以 howtoing 用户身份登录 192.168.0.11,无需密码。

$ ssh [email protected]

在本文中,您学习了如何使用 ssh 密钥设置 SSH 无密码登录。我希望这个过程很简单。如果您有任何疑问,请在下面的评论部分发表。

本文由mdnice多平台发布

标签:登录,192.168,密码,ssh,Linux,服务器,SSH
From: https://www.cnblogs.com/swindler/p/17661063.html

相关文章

  • [Kali] Kali Linux 环境准备
      虚拟机和系统:Mac的VmwareFusion:https://www.vmware.com/cn/products/fusion/fusion-evaluation.html 序列号去谷哥查.KaliLinuxVMs:https://www.kali.org/get-kali/#kali-virtual-machines 修改root密码:sudopasswdroot  远程连接客户端工具:windows-X......
  • Linux将执行命令结果输出到文本文件
    参考1参考2Linux将执行命令结果输出到文本文件一、把命令运行的结果保存到文件当中:用>把输出转向就可以了例子:$ls>ls.txt#或者ls-->ls.txt#把ls命令的运行结果保存到文件ls.txt中说明:'>'是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容......
  • 在windows和Linux系统之间配置共享目录(使用samba工具)
    安装samba工具aptinstallsamba编辑vim/etc/samba/smb.conf文件底部添加配置信息:[code]path=/code #指定共享目录writeable=yes #可写browseable=yes #可预览guestok=yes #不登录可访问先关闭之前进程pkillsmbd,重新启动smbd,psaux|grepsmbd检查新启......
  • Linux查看磁盘空间,文件系统、挂载
    Linux磁盘空间,文件系统、挂载概述在使用以下命令查看磁盘使用情况时df-hdu-sh目标路径作为初级开发者,Linux入门级选手,可能不禁要问Linux系统的文件系统跟windows的区别?什么是挂载?Linux系统的文件系统分区跟windows的区别Windows的目录结构属于分区而Linux分区......
  • 配置Doris时,关闭Linux系统的交换空间
    配置Doris时,关闭Linux系统的交换空间概述交换空间是现代Linux系统中的第二种内存类型。交换空间的主要功能是当全部的RAM被占用并且需要更多内存时,用磁盘空间代替RAM内存。交换空间对虚拟化技术资源损耗较大,成本损耗较高,一般虚拟化技术是不允许开启交换空间的,如果不关闭交......
  • Arch/Manjaro Linux + KDE Plasma 桌面图标不显示
    安装后桌面图标不显示如果遇到安装后桌面图标不显示的问题,右击程序启动器(通常是左下角的Manjaro图标),选择“编辑应用程序…”。之后点击编辑→恢复到系统菜单即可。 ......
  • 深入理解Linux权限管理:掌握文件和目录权限设置
    一、Linux权限概念linux操作系统中有两类用户,一类是超级用户,另一类是普通用户。超级用户:比较豪横,在linux系统中做任何事情,不受限制。普通用户:在linux允许的权限下做有限的事情。在命令行提示符他们两的区别:如上为普通用户提示符为$而超级用户命令提示符为#1.1、su命令命令:su[用户......
  • Linux 多线程基础
    @TOC前言一、多线程基础函数1.pthread_create创建新的线程。#include<pthread.h> intpthread_create(pthread_t*thread,constpthread_attr_t*attr, void*(*start_routine)(void*),void*arg);参数说明:thread:用于存储新线程的ID。attr:线程属......
  • Linux 提权
    普通用户提权[test@ahu~]$whoamitest//登陆到普通用户,发现创建不了其他用户[test@ahu~]$useraddaaa-bash:/usr/sbin/useradd:Permissiondenied进行身份变换[test@ahu~]$mkdir/tmp/exploit[test@ahu~]$ln/bin/ping/tmp/exploit/target[test@ahuexploit]......
  • Linux权限chmod
    在Linux中,我们具有3种类型的文件权限:读(r),写(w)和执行(x)权限。这些权限确定哪些用户可以读取,写入或执行文件。您可以使用文本或八进制(数字)表示法来分配这些权限,我们将在本教程后面讨论。文件和目录可以属于文件(u),组(g)或其他(o)的所有者u-所有人的权限g-所有组的权限o-其他......