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 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
相关文章
|
5月前
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
494 59
|
3月前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
4月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
122 2
|
4月前
|
网络安全
Ubuntu14.04安装ssh服务器
Ubuntu14.04安装ssh服务器
77 0
|
6月前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
1596 0
|
4月前
|
弹性计算 Linux 数据库
阿里云国际版如何迁移Linux云服务器系统盘中的数据
阿里云国际版如何迁移Linux云服务器系统盘中的数据
|
4月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
弹性计算 安全 Linux
阿里云Linux服务器安装宝塔面板详细教程(2023年)
阿里云Linux服务器安装宝塔面板详细教程(2023年)阿里云服务器网以CentOS操作系统为例,安装宝塔Linux面板,先远程连接到云服务器,然后执行宝塔面板安装命令,系统会自动安装宝塔面板,安装完成后会返回面板地址、账号和密码,然后在安全组开通宝塔面板端口号
1240 0
|
弹性计算 安全 Linux
阿里云Linux服务器安装宝塔面板教程(详细流程)
阿里云Linux服务器安装宝塔面板教程(详细流程)
1060 0