首页 > 系统相关 >使用SSH公钥进行免密码登录Linux服务器

使用SSH公钥进行免密码登录Linux服务器

时间:2024-03-12 11:56:06浏览次数:20  
标签:脚本 公钥 登录 密码 SSH Linux 服务器 ssh


SSH公钥在同步和自动化脚本中提供了许多好处。

免密码登录: 通过使用公钥认证,您可以实现无需输入密码即可登录到远程服务器。
这对于自动化脚本和定期的同步任务非常有用,因为它允许在不人工干预的情况下自动完成这些任务。

安全性: 公钥和私钥的使用提高了安全性。与密码相比,私钥通常更难破解。
这减少了脚本中包含敏感信息的风险,因为私钥通常是本地存储的,而不是与脚本一起传输或存储在脚本中。

自动化脚本的可靠性: 公钥认证确保在运行自动化脚本时不会因为需要人工输入密码而中断。
这对于计划任务、定期同步和其他无人值守的脚本任务非常重要。

脚本的可扩展性: 在多个服务器上执行任务时,使用公钥可以避免在每个服务器上维护相同的密码。
这使得脚本更易于扩展和维护,因为您只需管理公钥而不是多个服务器上的密码。

安全通信: 公钥和私钥的使用还提供了在数据传输过程中的加密,确保了脚本执行过程中的通信安全性。

使用方法:

  1. 执行命令

ssh-keygen

ssh-keygen 是一个跨平台的命令,支持在 Windows、Linux 和 macOS 等操作系统上运行。
执行后会有三个选项询问,分别是生成的对钥名称和输入并确认密码,一般情况下默认回车即可。

  1. 执行命令

cat ~/.ssh/id_rsa.pub | ssh user@host -p port"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 

将 ssh user@host -p port替换成你的服务器用户地址如:ssh [email protected] -p 10086,如果ssh是默认的22端口,把-p port去掉即可。
这条命令的大概意思是将你刚刚生成的密钥上传到你需要免密码链接的服务器中,大致原理是当你本机和目标服务器中的密钥匹配上才会被允许连入到主机中。

  1. 执行ssh命令验证公钥

ssh user@host -p port

如:ssh [email protected] -p 10086

这一步如果如果没有要求输入密码直接登录服务器,说明设置成功了。
如果还是要求你输入密码,可能是~/.ssh/authorized_keys文件权限有问题,需要使用密码登录服务器,

执行命令

chmod 600 ~/.ssh/authorized_keys

结束!

欢迎与我一起探索Linux世界

我的频道:https://t.me/dfyaha

我的QQ:3002063652

标签:脚本,公钥,登录,密码,SSH,Linux,服务器,ssh
From: https://www.cnblogs.com/yaha233/p/18067978

相关文章

  • 在Linux中,tomcat和nginx的区别是什么?
    在Linux环境中,Tomcat和Nginx是两种广泛使用的Web服务器软件,它们各自具有独特的功能和设计目标,以下是对两者之间区别的详细说明:基本功能定位Tomcat:Tomcat是一个开源的Java应用服务器,特别针对JavaServlet和JavaServerPages(JSP)技术设计。它的主要作用是作为一个Ser......
  • 在Linux中,nginx反向代理和负载均衡实现原理是什么?
    在Linux环境中,Nginx实现反向代理和负载均衡是通过编写和配置Nginx服务器的配置文件来完成的。以下是如何利用Nginx实现这两种功能的基本原理和步骤:1.反向代理实现原理:反向代理是一种服务端代理,它允许Nginx服务器接收来自客户端的所有请求,并根据配置规则将这些请求透明地转发给......
  • 在Linux中,Linux发行版有哪些?
    Linux发行版众多,它们各自具有不同的特点和适用场景。以下列举了一些知名的Linux发行版,以及简要介绍:Debian:Debian是一个历史悠久且极其稳定的发行版,以其强大的软件包管理系统(APT)和庞大的软件仓库著称。后续衍生出了多个著名分支,如:Ubuntu:针对桌面和服务器用户的友好发行版......
  • 在Linux中,如何利用Shell把10台主机的当前时间写到一个文件里边?
    在Linux中,使用Shell脚本收集多台主机的当前时间并将其写入一个文件是一个常见的任务。下面是一个详细的步骤说明,包括如何设置SSH密钥认证(以避免手动输入密码)以及编写和执行Shell脚本。1.设置SSH密钥认证为了避免在脚本执行过程中需要手动输入密码,你可以使用SSH密钥认证。这意味......
  • 在Linux中,linux内核参数如何修改?
    在Linux中,内核参数的修改可以通过多种方式实现,以满足不同的系统需求和性能优化。以下是一些详细的方法:直接修改/proc/sys/目录中的文件:/proc/sys/目录是Linux内核参数的虚拟文件系统表示,可以直接编辑此目录下的文件来修改内核参数。例如,要修改TCP内存参数,可以使用如下命......
  • 银河麒麟(Kylin Linux Advanced Server V10)配置centos8的yum源
    1、虚拟机安装麒麟操作系统(此步骤忽略)。2、将麒麟的yum源备份。mvkylin_x86_64.repo/tmp/3、将阿里云开源镜像站的centos8的yum源,下载到麒麟的服务器下并重新加载。wget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.re......
  • Linux之ps -ef进程命令及netstat网络状态命令简记
    ps-ef释义:ps-ef表示查看全格式的全部进程。ps是linux下最常用的也是非常强大的进程查看命令,常配合管道命令|和查找命令grep同时执行来查看特定进程。参数含义:-e显示所有进程。-f全格式。-h不显示标题。-l长格式。-w宽输出。a显示终端上的所有进程,包括其他用户的......
  • Linux:mount挂载
    学习自:Linux下的mount命令详解_mount-o-CSDN博客Linux系统之mount命令-腾讯云开发者社区-腾讯云1、功能mount可以将特定文件系统挂载到某个Linux目录下。相当于为该文件系统开辟了一个独占的存储空间,这个文件系统可以自由地访问它的挂载目录,就如同这个挂载目录是它原本就......
  • Linux nohup命令详解
    Linuxnohup命令详解我们自己笔记本或台式机的显卡往往不能支持我们进行深度学习实验或大模型训练,因此我们往往使用SSH连接服务器然后去运行代码。有的时候我们跑的程序需要跑几个小时甚至几天,这样我们就需要一直开着电脑挂着SSH;偶尔也会遇上网络断开,程序半途中止的情况。所以,......
  • Redis安装之Redis7主从复制(replica)安装(Linux版)
    官网说明:https://redis.io/docs/management/replication/一.背景单机部署存在单点故障及数据丢失问题,为了实现读写分离容灾恢复数据备份水平扩容支撑高并发等功能,Redis可基于主从复制的特性搭建集群。二.方案原理2.1.读写分离Master主机负责写操作,Slave从机负......