首页 > 其他分享 >使用密钥来和服务器通信

使用密钥来和服务器通信

时间:2024-10-12 14:02:57浏览次数:8  
标签:公钥 通信 密钥 服务器 链接 ssh 客户端

前言

一般情况下,我们要链接服务器除了三方的GUI工具 如 xshell、finalshell外。
我们还会使用一些没有UI的终端去链接,比如windows的powerShell、mac的Terminal、ios的serverCat(非自带)和andriod的termius (非自带)等等。

我们买的服务器一般都预装了openSSH(以及其依赖和OpenSSL),它就是远程连接相关插件。
ssh不仅支持账号密码的连接方式,还支持更为优秀的密钥链接。

ssh的配置文件在 /etc/ssh/sshd_config 这个文件中,常见的配置如

...
Port 31825 # ssh 服务端口号
PermitRootLogin yes # 开启root账号
PasswordAuthentication yes # 允许账密登录
PubkeyAuthentication yes # 允许密钥登录
AuthorizedKeysFile	.ssh/authorized_keys # 授信任的(公)密钥列表

ssh的账密登录还是挺简单,只需要在客户端上执行 ssh [email protected] ,即可发起 链接远端既服务器的请求(第一次登录时可能会询问你是否接受新的主机指纹,输入yes确认即可),但是缺点相对明显,每次ssh链接请求都需要输入密码,安全性不高,所以引出了我们接下来的 密钥登录。

客户端生成密钥

macOS和Linux通常自带OpenSSH,Windows在Win10以后,也自带OpenSSH,所以我们直接使用终端进行 密钥对 生成:

ssh-keygen
# 过程会产生一些交互,我们一路回车默认即可,但为了方便深入学习 我将交互询问记录下来了如下:
# Enter file in which to save the key:密钥存放地址,默认为当前用户目录下的.ssh文件夹下。
# Enter passphrase:保护私钥的密码,一般留空,直接和上面一样回车即可。
# Enter same passphrase again:确认私钥密码

最终会在会生一对密钥-> 公钥+私钥:
.
id_rsa:生成的私钥,保留在客户端即可,理应谁也不给。
id_rsa.pub:生成的公钥,打开后,复制内容,后文部署到服务器上(后边讲)。

服务端部署公钥

复制如上客户端生成的 公钥内容,到服务器的 ~/.ssh/authorized_keys 文件中。

如果你要是嫌手动麻烦,客户端可以使用 ssh-copy-id user@serverIp 将自己的公钥推送到服务端,不过这个过程需要输入服务端的密码。

客户端链接服务端

此时,直接在客户端输入链接服务端的ssh请求,将不会再弹出输入密码的请求,而是直接链接上,如

ssh [email protected]

总结

客户端创建密钥对,将其中的公钥给远程端(远程端并将其放入自己的好友管理中[authorized_keys]),后续客户端就可以控制远程端了。
拟人化来说就是 相当于你客户端提前给远程端递了个名片认识了下,后续客户端直接就找远程端办事了。

参考

https://mintimate.cn/2021/12/03/connectToLinux
https://blog.csdn.net/h1008685/article/details/137458453

标签:公钥,通信,密钥,服务器,链接,ssh,客户端
From: https://www.cnblogs.com/dingshaohua/p/18460332

相关文章

  • Windows Server 2008R2服务器 IIS7.0 安装SSL证书并绑定https
    本例以阿里云服务器来解说,本服务器为WinodwsServer2008R2(一般现在至少是2012版本了)默认IIS为7.0第一步:在阿里云上申请好证书并下载IIS版本,下载后上传到服务器中,如下图:第二步:导入证书在服务器按Win+R键,打开运行。输入mmc,单击确定,打开Windows服务器控制台(MMC,MicrosoftMa......
  • 服务器重启宝塔面板打不开了
    如果在服务器重启后发现宝塔面板无法打开,可以尝试以下几个步骤来排查和解决问题:检查服务器状态确认服务器是否已经完全启动,并且网络连接正常。SSH登录服务器通过SSH工具登录到服务器上,查看是否有错误信息或异常情况。检查宝塔服务状态执行命令 btdefault 切换......
  • mysql数据库服务器错误怎么回事
    MySQL数据库服务器错误可能由多种原因导致,这里列举一些常见的问题及其解决方法:服务未启动检查MySQL服务是否已经启动。在命令行中使用 netstartmysql (Windows)或 sudoservicemysqlstart (Linux)来尝试启动MySQL服务。配置文件错误确认my.cnf(Linux)或my.ini(Window......
  • 配置和管理samba服务器
    samba服务建起了Linux和Windows之间的桥梁,实现了不同系统之间的互通,如复制文件、实现不同操作系统的资源共享。在实际应用中,可以将samba服务器架设成一个强大的文件服务器。在本篇文章中,将实现Linux和Linux之间、Linux和Windows之间的samba服务。地址规划OSIPrehl9.0192.168.96.171......
  • Seata RM模块与Seata Server之间的通信渠道设计
    胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,SpringCloudAlibaba微服务架构实战派(上下册)和RocketMQ消息中间件实战派(上下册)的作者,资深架构师,技术负责人,极客时间训练营讲师,四维口袋KVP最具价值技术专家,技术领域专家团成员,2021电子工业出版社年度优秀作者,获得2023电......
  • Windows11搭建Speedtest测速服务器
    在Windows11上配置Speedtest服务器下载本教程中所需要的软件列表开支在下载好以上软件后,下面开始正式进行服务器搭建所有软件打包地址1.在Windows11上安装ISS服务a.点击Start--->System--->Optionalfeature进入b.选择最下面的MoreWindowsfeaturec.勾选需要开......
  • 京准电钟:GPS北斗卫星时钟服务器应用政务系统方案
    京准电钟:GPS北斗卫星时钟服务器应用政务系统方案京准电钟:GPS北斗卫星时钟服务器应用政务系统方案京准电子官微——ahjzsz摘要:随着电子政务的不断发展,许多省份都建立了自己的政务网络,使用的网络设备和服务器日益增多,这些设备都有自己的时钟,是可以调节的,因此网络中的所有设备和主......
  • 智驾仿真测试实战之自动泊车HiL仿真测试:自动泊车系统简介|自动泊车HiL仿真测试系统|
    1.引言汽车进入智能化时代,自动泊车功能已成为标配。在研发测试阶段,实车测试面临测试场景覆盖度不足、效率低下和成本高昂等挑战。为解决这些问题,本文提出一种自动泊车HiL仿真测试系统方案,可大幅度提升测试效率及测试场景覆盖度、缩短测试周期、加速产品迭代升级。Jum......
  • 关于不建议使用北京新网数码信息技术公司的服务器和虚拟机的说明(重要说明)
    尊敬的用户们,我们注意到了关于北京新网数码信息技术有限公司服务器和虚拟机服务的一些用户反馈,特别是关于虚拟机不支持根目录设置、免费查杀以及WAF防护效果的问题。此外,还有用户提到云主机的保护措施不到位,并且实际提供的防护服务与官网描述不匹配。这些问题可能会影响到用户......
  • 一个服务器拥有多个ip有什么作用?
    原文链接:https://www.hzjcp.com/3566.html第一次见一台服务器有多个外网ip的情况,在此记录下。一个服务器拥有多个ip有什么作用?服务器多IP意味着一个服务器拥有多个IP地址。IP地址是互联网上设备的唯一标识符,用于在设备之间进行通信。拥有多个IP地址可以使服务器在多个网站或服......