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”来退出连接。


相关文章
|
1月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
508 21
|
2月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
300 13
|
2月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
209 0
|
2月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
236 0
|
3月前
|
Linux
Linux下版本控制器(SVN) -服务器端环境搭建步骤
Linux下版本控制器(SVN) -服务器端环境搭建步骤
189 0
Linux下版本控制器(SVN) -服务器端环境搭建步骤
|
Ubuntu Linux 网络安全
SSH客户端连接远程服务器
一、什么是客户端连接远程服务器 发起连接的一方,计算机或设备(称为客户端)与另一个计算机或设备(称为远程服务器)建立连接。 客户端通过网络连接到远程服务器,远程服务器则是提供所需服务或资源的一方。 客户端通常使用特定的协议(如SSH、HTTP、FTP等)与远程服务器进行通信。 示例:你使用SSH客户端从本地计算机连接到远程服务器以执行远程命令。 二、什么是服务端连接远程服务器
478 1
|
Linux 网络安全 数据安全/隐私保护
SSH工具连接远程服务器或者本地Linux系统
SSH工具连接远程服务器或者本地Linux系统
200 0
|
网络安全
mac下通过ssh脚本实现免账号密码连接运服务器
mac下通过ssh脚本实现免账号密码连接运服务器
147 3
|
Cloud Native 网络安全 Go
SSH连接服务器后执行多条命令
SSH连接服务器后执行多条命令
249 0