资讯专栏INFORMATION COLUMN

SSH 通过公钥连接云服务器

leoperfect / 2718人阅读

摘要:通常我们连接远程服务器下通过或等工具远程连接。你的这样就算成功了,在运行,即可连接上你的服务器。密码可以弄得复杂些,然后通过这样的方式连接云服务器。当然如果你不想用命令,那你就得记住这个单词原文在我的博客通过公钥连接云服务器

通常我们连接远程服务器(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这个单词~

原文在我的博客SSH通过公钥连接云服务器

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9434.html

相关文章

  • github、gitee创建、连接、克隆远程仓库及生成、配置SSH公钥

    摘要:有道翻译你确定要继续链接吗输入回车有道翻译无法从远程存储库读取。有道翻译请确保您拥有正确的访问权限和存储库存在。 1、安装git、注册guthub账号、注册码云账号,此过程不再赘述 2、在github和码云分别创建一个仓库,用于测试 2.1、github操作: 2.1.1、点击头像左侧加号,展开后选择 New repository(新建仓库) showImg(https://segme...

    kviccn 评论0 收藏0
  • 搭建个人开发者主机全过程-新主机一步到位配置指南-免费HTTPS网关【小公司同样适用】【持续更新

    摘要:本文是笔者实践总结的技巧,介绍搭建云主机的方法,主要基于部署系列服务。从个人开发者需求出发,一步一步搭建自己的服务。虚拟内存的大小,一般不要超过当前内存大小,笔者选购的云主机是内存,所以设置虚拟内存。如果使用阿里云,在网页后台可以进行配置。 0x00 本文是笔者实践总结的技巧,介绍搭建云主机的方法,主要基于Docker部署系列服务。从个人开发者需求出发,一步一步搭建自己的服务。本文适合...

    ymyang 评论0 收藏0
  • 手把手教你刷github提交记录

    摘要:但是,毕竟是人,哪天忙了就会忘记提交,所以想着能不能实现在自己阿里云服务器系统上,设置,定制下命令,实现每天定点自动提交。 前言 进入自己github主页会看到自己的提交记录,如果某天没有提交记录,那天的小方框就显示灰色。强迫症的我,每次进来看着就感觉不爽,想着自己每天记得提交点东西,争取像阮一峰大神一样,每天都有提交记录。 showImg(https://www.wty90.co...

    ChanceWong 评论0 收藏0
  • 10分钟搭建ubuntu+nodejs+pm2自动部署+nginx+永久免费SSL证书+mongod

    摘要:将第二步中的安装源换成阿里云的镜像安装会比较快,如下将上面的部分替换如下更新源正式安装常用命令本地和服务器使用公钥免密访问仓库在使用协议访问项目仓库之前,需要先配置好账户项目的公钥。 如果你对nodejskoa2vuejs等感兴趣,请加QQ群:732189938 或者直接点击链接加入群聊【Node.js/Koa2/vuejs】:https://jq.qq.com/?_wv=1027&k...

    yeyan1996 评论0 收藏0
  • 10分钟搭建ubuntu+nodejs+pm2自动部署+nginx+永久免费SSL证书+mongod

    摘要:将第二步中的安装源换成阿里云的镜像安装会比较快,如下将上面的部分替换如下更新源正式安装常用命令本地和服务器使用公钥免密访问仓库在使用协议访问项目仓库之前,需要先配置好账户项目的公钥。 如果你对nodejskoa2vuejs等感兴趣,请加QQ群:732189938 或者直接点击链接加入群聊【Node.js/Koa2/vuejs】:https://jq.qq.com/?_wv=1027&k...

    godlong_X 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<