SSH如何通过公钥连接云服务器

本文涉及的产品
.cn 域名,1个 12个月
简介:
通常我们连接远程服务器(linux)windows下通过putty或xshell等工具远程连接。linux下可以直接通过ssh命令连接。其实这两者都是一致的,都是通过ssh协议进行传输。


如果我们的windows没有安装putty等工具,但是有git-bash的话也可以直接通过ssh来连接。通过以下命令:

ssh root@ip/主机名/域名/

接下来会叫你输入密码,成功输入后即可连接成功。但是这样每一次都要输入面码,我们可以编写一个shell脚本,类似于:conn_vps.sh这样的文件

首先,打开git-bash(桌面上右击,选择Git Bash Here。) $ 为gitbash的命令提示符, # 为注释,非命令不必输入。下同

$ cd ~ # 进入到用户家目录
$ mkdir sh # 新建一个sh目录,用于存放shell脚本。
$ cd sh # 以上都是我的个人习惯。不必和我一样

然后新建该文件

$ vim conn_vps.sh

进入vim模式,按i键即可编辑,输入以下内容:

#!/bin/bash # 这一行必须要写,非注释
ssh root@ip/主机名/域名 # 输入你自己的远程主机ip等

此时按,ESC键,再按:wq保存退出。

现在即可运行该脚本:

$ ./conn_vps.sh
$ sh conn_vps.sh # 这两条命令,任意一条都可以运行

当然如果你在本身就在linux环境下,需要赋予执行权限,像下面这样。和我一样在git-bash中创建的,不需要这一步,本身就有执行权限。

$ chmod 755 conn_vps.sh

然后再执行,然后你会发现依然会输入密码,这是当然的,我们刚才只不过是把刚才的命令简单的脚本了一下。

接下来SSH的密钥分发。

查看是否有密钥

$ ll ~/.shh/ # 查看是否有id.rsa,和id.rsa.pub两个文件。

如果没有的话,可以生成一个。有的话跳过这一步

$ ssh-keygen -t rsa -C "jan.mail@foxmail.com" #这部其实可以不加邮箱参数,但是git配置github连接需要。

#所以最好一次性做了,用一样的密钥。邮箱换成你自己的邮箱。

连续三次回车,如果不设置密码的话。

接下来,上传公钥到远程服务器

$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@远程服务器的ip/主机名/域名

然后运行conn_vps.sh。第一次还是需要输入一遍密码,如果出现以下提示符即算成功。

Now try logging into the machine, with: "ssh 'root@你的ip'"
and check to make sure that only the key(s) you wanted were added.

这样就算成功了,在运行conn_vps.sh,即可连接上你的服务器。

如何你要多个云服务器。root密码可以弄得复杂些,然后通过这样的方式连接云服务器。yeah!大功告成!嗯,既然我们可以登录上去了,那我们去看看远程机器上(linux)的情况。

输入ll .ssh/

[root@ten ~]# ll .ssh/
total 4
-rw------- 1 root root 401 Sep 10 20:47 authorized_keys

如果你的远程机器上没有生成ssh-keygen,就会只有一个文件,authorized_keys翻译过来就是认证的密钥。而这个认证的密钥就是前面那条命令的的 ~/.ssh/id_rsa.pub 的内容。

所以这条命令 ssh-copy-id -i ~/.ssh/id_rsa.pub root@远程服务器的ip/主机名/域名就是把id_rsa.pub的内容粘贴到authorized_keys中。如果另一台客户端也想连接到这台远程服务器。可以用同样的命令来一遍,也可以直接用cat查看id_rsa.pub,再在服务端用vim打开authorized_keys文件。粘贴进去,之前的不要删除,换一行即可。

当然如果你不想用ssh-copy-id -i命令,那你就得记住authorized_keys这个单词~



本文转自Linux就该这么学博客园博客,原文链接:http://www.cnblogs.com/linuxprobe/p/5891299.html,如需转载请自行联系原作者

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
2月前
|
网络协议 Ubuntu Linux
gpg从公钥服务器接收失败(gpg: keyserver receive failed: Server indicated a failure)
通过上述步骤,大多数情况下应该能够解决GPG从公钥服务器接收失败的问题。如果问题依旧存在,可能需要进一步调查与公钥服务器相关的更深层次的技术问题,或者考虑在相关社区论坛寻求帮助。
428 1
|
2月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
987 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
476 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
网络安全 数据安全/隐私保护 C++
VS Code 的SSH连接不成功问题分析与解决
VS Code 的SSH连接不成功问题分析与解决
|
2月前
|
存储 网络协议 Java
【网络】UDP回显服务器和客户端的构造,以及连接流程
【网络】UDP回显服务器和客户端的构造,以及连接流程
61 2
|
2月前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
2月前
|
弹性计算 安全 Windows
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
|
2天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
1天前
|
开发框架 缓存 .NET
阿里云轻量应用服务器、经济型e、通用算力型u1实例怎么选?区别及选择参考
在阿里云目前的活动中,价格比较优惠的云服务器有轻量应用服务器2核2G3M带宽68元1年,经济型e实例2核2G3M带宽99元1年,通用算力型u1实例2核4G5M带宽199元1年,这几个云服务器是用户关注度最高的。有的新手用户由于是初次使用阿里云服务器,对于轻量应用服务器、经济型e、通用算力型u1实例的相关性能并不是很清楚,本文为大家做个简单的介绍和对比,以供参考。

热门文章

最新文章