Linux实现无需手动输入密码的自动化SSH身份验证

SSH密钥身份验证是一种安全的方式,使您能够在无需手动输入密码的情况下连接到远程服务器。以下是如何设置SSH密钥身份验证,以便您的脚本能够自动运行:

步骤

  1. 生成SSH密钥对 :

    在您的本地系统上生成SSH密钥对。如果您尚未生成,请使用以下命令:

    bash 复制代码
    ssh-keygen

    这将生成一个公钥(默认情况下存储在~/.ssh/id_rsa.pub)和一个私钥(默认情况下存储在~/.ssh/id_rsa)。

  2. 将公钥上传到远程服务器 :

    使用以下命令将您的公钥上传到远程服务器(在这种情况下是root用户的主目录):

    bash 复制代码
    ssh-copy-id root@45.142.166.xxx

    这将要求您输入root用户的密码。输入密码后,您的公钥将被复制到远程服务器上,允许无密码身份验证。

  3. 测试无密码身份验证 :

    在您的本地系统上,尝试使用SSH连接到远程服务器,不应再要求输入密码:

    bash 复制代码
    ssh root@45.142.166.xxx

    如果您可以无需输入密码成功连接到远程服务器,那么SSH密钥身份验证已成功设置。

  4. 在您的脚本中使用SSH :

    确保在脚本中使用正确的远程服务器地址,然后您可以使用scp命令或其他SSH相关的命令,而无需输入密码,因为SSH将使用密钥对进行身份验证。

这样,您的脚本将能够自动执行,而无需手动输入密码。请确保保护好您的私钥文件,以防止未经授权的访问。

相关推荐
GeW7 小时前
新质生产力路线图Linux、数据库、国产化替代一次讲透
linux
aningx9 小时前
cachyos 从 GRUB 切换到 rEFInd
linux
第404号工位11 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
骑着蜗牛撵大象32713 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
众壹新能源科技13 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..13 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
QMCY_jason13 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特13 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
あ-14 小时前
CubeSandBox配置CubeMaster CPU 超分
linux·运维·服务器
Escalating_xu14 小时前
【Linux 网络编程】TCP Socket 编程(上):从 listen、accept 到完整回显通信
linux·网络·tcp/ip