密钥登录服务器

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

相关推荐
上海蓝色星球5 小时前
迈向智慧电网新纪元:上海蓝色星球数字孪生变电主子站系统
运维·数据库
爬山算法7 小时前
Netty(10)Netty的粘包和拆包问题是什么?如何解决它们?
服务器·网络·tcp/ip
Sleepy MargulisItG7 小时前
【Linux网络编程】应用层协议:HTTP协议
linux·服务器·网络·http
logic_57 小时前
静态路由配置
运维·服务器·网络
zhuzewennamoamtf7 小时前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
门思科技7 小时前
企业级 LoRaWAN 网关远程运维方案对比:VPN 与 NPS FRP 的技术与安全差异分析
运维·网络·安全
云和数据.ChenGuang7 小时前
Deepseek 持续迭代的模型
运维·运维技术·数据库运维工程师·运维教程
物联网软硬件开发-轨物科技8 小时前
【轨物方案】聚焦锯床设备智能化升级,打造工业互联网新范式
运维·科技·物联网
suzhou_speeder8 小时前
企业数字化网络稳定运行与智能化管理解决方案
运维·服务器·网络·交换机·poe·poe交换机
RisunJan9 小时前
Linux命令-grpck命令(验证和修复组配置文件(`/etc/group` 和 `/etc/gshadow`)完整性的工具)
linux·运维·服务器