Linux 使用ssh密钥认证方式登陆另一台linux服务器

简介: Linux 使用ssh密钥认证方式登陆另一台linux服务器

环境说明

我们有一台A服务器,以及B服务器,总共两台


我们登陆到A服务器,然后在A服务器进行登陆B服务器

如果使用账号密码登陆,那么每次就需要输入密码

我们进行ssh密钥认证的方式就可以免密码登陆了


开始

在B服务器执行以下步骤

在您的 Linux 服务器上创建一个 authorized_keys 文件,以便您可以将您的 SSH 公钥添加到该文件中,以便您可以通过 SSH 密钥认证来访问该服务器。

要创建 authorized_keys 文件,可以按照以下步骤操作:


1.打开终端,登录到您的 Linux 服务器。

2.进入您的 home 目录,如果该目录不存在,则可以使用以下命令进行创建:

mkdir -p ~/.ssh

3.使用以下命令创建 authorized_keys 文件:

touch ~/.ssh/authorized_keys

4.使用文本编辑器(例如 vi 或 nano)打开 authorized_keys 文件,将您的 SSH 公钥复制到该文件中并保存。

5.为了确保该文件的权限正确,请使用以下命令设置 authorized_keys 文件的权限为 600:

chmod 600 ~/.ssh/authorized_keys

完成上述步骤后,您的 SSH 公钥就已经被添加到了您的 Linux 服务器上,您可以使用 SSH 密钥认证方式访问该服务器了。


在A服务器执行一下步骤

1.生成密钥对:

$ ssh-keygen -t rsa -b 2048

或者使用以下命令

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"


执行完后,会在~/.ssh/目录下生成id_rsa和id_rsa.pub两个文件,其中id_rsa是私钥,需要妥善保管,id_rsa.pub是公钥,需要放到远程服务器上进行认证。


2.将公钥添加到远程服务器:

将公钥id_rsa.pub的内容复制到远程服务器的~/.ssh/authorized_keys文件中,可以使用以下命令实现:

$ ssh-copy-id user@remote-server

这个命令会将本地公钥添加到远程服务器上的authorized_keys文件中,如果该文件不存在,则会自动创建。在执行该命令前,请确保远程服务器上的~/.ssh/目录的权限是700,authorized_keys文件的权限是600。


完成,测试连接

1.使用以下命令测试连接服务器:

ssh -i /path/to/private/key username@server_ip

其中,/path/to/private/key是你的私钥文件路径,username是服务器的用户名,server_ip是服务器的IP地址或域名。


2.如果连接成功,你将会看到类似于以下的提示信息:

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-53-generic x86_64)
或者
Last login: Tue Feb 21 09:54:26 2023 from ****

3.登陆成功后进行退出:

可以使用exit命令退出。如果您正在使用ssh客户端,则可以使用菜单或命令来关闭连接,具体方式因客户端不同而异。一般来说,您可以使用快捷键“Ctrl + D”或“Ctrl + C”来退出连接。


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
26天前
|
监控 Linux Shell
|
29天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
50 5
Linux系统之安装Ward服务器监控工具
|
14天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
17天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
34 0
服务器linux!!!
|
19天前
|
人工智能 安全 Linux
|
21天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
93 3
|
24天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
27天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
218 3
|
1月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
31 2
|
1月前
|
网络安全
Ubuntu14.04安装ssh服务器
Ubuntu14.04安装ssh服务器
52 0

热门文章

最新文章