当前位置: 首页 > article >正文

密钥登录服务器

1. 生成 SSH 密钥对

如果您还没有生成密钥对,可以使用以下命令生成:

ssh-keygen

在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件:id_rsa 为私钥,id_rsa.pub 为公钥。

在提示时,您可以选择默认文件名(通常是 ~/.ssh/id_rsa)或输入自定义文件名。您还可以选择是否设置密码短语。

如果是默认的话enter即可,密钥对路径

ls -l /root/.ssh/id_rsa*

2. 将公钥复制到远程服务器

生成密钥对后,您需要将公钥(通常是  /.ssh/id_rsa.pub 或您自定义的文件名加 .pub 后缀)复制到远程服务器的 /.ssh/authorized_keys 文件中。您可以使用 ssh-copy-id 命令来完成此操作:

ssh-copy-id -i /.ssh/id_rsa.pub username@remote_host
ssh-copy-id -i /root/.ssh/id_rsa.pub root@remote_host
 

ssh-copy-id 命令将公钥(/root/.ssh/id_rsa.pub)复制到远程服务器(124.223.34.66)的 root 用户的 ~/.ssh/authorized_keys 文件中

源服务器:/root/.ssh/authorized_keys   文件

目标服务器:/root/.ssh/authorized_keys   文件

3.测试登录

ssh root@remote-host

无需密码即可远程登录。

4.多密钥登录

  • 如果您有多个密钥,确保您使用的是正确的私钥。您可以使用 -i 选项指定私钥:

    ssh -i /root/.ssh/id_rsa root@remote-host
  • -i /path/to/private_key:指定要使用的私钥文件的路径。请确保您使用的是私钥(例如 id_rsa),而不是公钥(例如 id_rsa.pub)。

5.注意事项

私钥权限:确保私钥文件的权限设置为 600,以确保安全性。您可以使用以下命令设置权限:

1.为了确保连接成功,请保证以下文件权限正确。

chmod 600 /path/to/private_key

[root@VM-4-14-centos .ssh]# chmod 600 ~/.ssh/id_rsa
 

2.设置 SSH,打开密钥登录功能(使用公共镜像创建的Linux云服务器默认是开启的),编辑 /etc/ssh/sshd_config 文件,进行如下设置:

​检查如下配置项,确保 root 用户能通过 SSH 登录:

3、完成上述配置后,并以密钥方式登录成功后,再禁用密码登录:

PasswordAuthentication no

4、重启 SSH 服务。

service sshd restart


http://www.kler.cn/a/463451.html

相关文章:

  • 启航数据结构算法之雅舟,悠游C++智慧之旅——线性艺术:顺序表之细腻探索
  • C# 设计模式:装饰器模式与代理模式的区别
  • Mac 安装 Flutter 提示 A network error occurred while checking
  • 17爬虫:关于DrissionPage相关内容的学习01
  • 2025考研江南大学复试科目控制综合(初试807自动控制原理)
  • Flash Attention V3使用
  • 【TypeScript篇】TypeScript命令行编译和自动化编译
  • 【Pandas】pandas Series iat
  • 前后端数据交互
  • 域名系统DNS:Domain Name System
  • Java高频面试之SE-06
  • 【PDF物流单据提取明细】批量PDF提取多个区域内容导出表格或用区域内容对文件改名,批量提取PDF物流单据单号及明细导出表格并改名的技术难点及小节
  • 【华为OD-E卷 - 异常的打卡记录100分(python、java、c++、js、c)】
  • python数据分析:使用pandas库读取和编辑Excel表
  • 期末速成C++【知识点汇总完】
  • vite+vue3项目启动报错
  • windows C#-声明、实例化和使用委托
  • 青少年编程与数学 02-005 移动Web编程基础 10课题、设备调用
  • 创建线程的8种方法
  • 计算机网络原理(谢希仁第八版)第4章课后习题答案
  • 在 Swift 中使用 SQL 组合人员和地址数据
  • ChatGPT 与 AGI:人工智能的当下与未来走向全解析
  • UE5材质节点Frac/Fmod
  • NestJS 中间件与拦截器:请求处理流程详解
  • 前端安全措施:接口签名、RSA加密、反调试、反反调试、CAPTCHA验证
  • Go 语言 API 限流实战:保障系统稳定性的护盾