AWS ec-2基于SSH连接以及初始化指南

news/2024/6/30 16:02:17

概述

首先我们需要先了解一下ssh的连接原理。
ssh大概就是,你的本地计算机生成了一对密钥,一个叫做私钥,一个叫做公钥。然后你把你的公钥上传到远端服务器其中一个user下的.ssh文件夹中。
每次ssh连接时,服务器就会看自己的公钥和你计算机的私钥能不能对的上,对的上就可以连接。
而刚创立AWS的ec-2后,他会给你一个默认的用户,以及你下载的这个默认用户的私钥,一个.pem文件。我们的整体流程如下:

  1. 使用下载的私钥ssh到ec-2的默认用户。
  2. 在ec-2上创建一个新的账户,拥有管理员和ssh权限。
  3. 在本地生成一组ssh密钥对,将公钥上传到新建用户的.ssh文件夹下
  4. 成功连接

第零步,部署ec-2

具体教程应该有很多,至于部署哪个系统,多大内存之类的,就看各位需求了。

第一步,使用默认账号连接ssh

在部署ec-2的时候,aws会让你选择一个密钥或者重新创建。如果没有创建过就可以创建一个,选择pem文件,他会让你下载一个.pem文件, 这个文件一定要保存好。
随后呢,到本地的命令行,打开bash,输入下面的命令。

$ ssh -i </path/to/default-privatekey.pem> ec2-user@<ec2-xx-xx-xx-xx.compute-1.amazonaws.com>

AWS也良心的给了教程:

如果显示这个,则说明登陆成功!

出了任何的bug的话,欢迎contact我或者写在评论区!

现在我们是用ec-2的默认用户登录的,但是我们需要创建自己的用户以及自己的ssh密钥

第二步 创建拥有管理员权限的用户

首先确保你成功登陆了ec-2 在远端执行

# 填入你的名字和用户名,并设置密码。(如果显示密码过于简单的话再输入一遍就可以了,它不会和你过不去)
$ sudo useradd -r -m -c "<My Full Name>" <usernameHere>
$ sudo passwd <usernameHere>

然后就是将你的用户添加到管理员列表里

# 填入你的名字和用户名,并设置密码。(如果显示密码过于简单的话再输入一遍就可以了,它不会和你过不去)
$ sudo useradd -r -m -c "<My Full Name>" <usernameHere>
$ sudo passwd <usernameHere>
# 随后打开visudo
$ sudo visudo

打开文件后往下翻,到这个位置:

root下面添加你的用户名:

然后输入esc :wq保存并退出

# 然后是用su命令切换到你的用户名
$ su <username here># 切换到你的home 目录
$ cd# 创建 .ssh 配置目录并且修改权限
$ mkdir .ssh
$ chmod 700 .ssh

ok, 目前位置我们的管理员用户就创建完成了,现在不要关闭这个terminal。在本地打开一个新的终端,我们要创建自己的密匙对了。

第三步 创建本地密匙对,上传公钥

# **本地!**终端运行
$ ssh-keygen

生成本地的密匙对,现在在你本地用户目录的.ssh文件夹下应该有两个文件:

这个id_rsa就是私钥,而.pub就是公钥

现在,回到远程终端!

到远程终端用户目录

# 创建authorized_keys并且设置权限
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys# 编辑authorized_keys文件夹
$ vim .ssh/authorized_keys

然后,复制你本地的.pub也就是公钥,到这个文件上。然后:wq保存并退出

然后在本地打开一个新的端口,看你是否可以链接到远程服务器:

$ ssh <username here>@<ec2-xx-xx-xx-xx.amazonaws.com>

大功告成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/48386.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Qt版本选择01

嵌入式推荐用Qt4.8,打包的程序小:Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的 最后支持xp系统的长期支持版本:Qt5.6.3;Qt5.7.0是最后支持xp系统的非长期支持版本。 最后提供mysql数据库插件的版本:Qt5.12.3。 最后支持win7的版本:Qt5.15系列。Qt6不支持win7 …

架构师必知的11种API性能优化方法

前言 接口性能优化是后端开发人员经常碰到的一道面试题,因为它是一个跟开发语言无关的公共问题。 这个问题既可以很简单,也可以相当复杂。有时候,只需要添加一个索引就能解决。 有时候,代码需要进行重构。 有时候,必须增加缓存。 有时候,需要引入一些中间件,例如消息队列…

接口面试题

postman接口测试,它有一个功能可以设置参数化,你有用过吗?多接口怎么测? (1)有 (2){{}}、a、设置环境变量、b、在run中通过导入csv文件引用变量 (3)postman里面有一个批量处理,将多个接口放至一个项目文件夹中,点击run,选择环境变量、修改运行次数和延迟秒数、选中c…

全网最好看的单细胞umap图绘制教程

作者按 大家或许都曾被Nature, Science上的单细胞umap图吸引过,不免心生崇拜。在这里,我们将介绍一种简单方便的顶刊级umap图可视化 全文字数|预计阅读时间: 2000|5min ——Starlitnightly(星夜)环境加载 我们先导入一些必须的依赖包 import omicverse as ov import scanpy…

pycharm中运行jupyter notebook

进入anaconda prompt,进入对应的虚拟环境输入jupyter notebook,找到路径和token这两个随便复制一个,注意是包括token也要复制到 然后打开pycharm,并建立一个jupyter notebook文件选择下面这个然后在里面输入刚刚复制的然后运行一个cell,会弹出输入刚刚复制jupyter noteboo…

从JDK8升级到JDK17

一、概述 鉴于JDK8已经是老古董,还有性能问题,兼且各个公司已经不再维护1.8的JDK,所以升级公司的核心产品之一的后端到JDK到17是相对要紧的事情。 通过升级到jdk17,具有以下好处:不要在头疼同时适应两个jdk,放下适应JDK8的负担 在生产环境基本上只需要部署一个jdk即可 具…

填空题回答(Power Query)

问题: 由问题+答案生成结果let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 结果 = Table.AddColumn(源, "结果", each Text.Combine(List.Combine(List.Zip({Text.Split([问题],"__") , Text.Split([答案],"、")})))) in…

纯html如何识别.vue文件并搭建vue项目

前言 使用原生 html 写 vue 项目。注意:是项目,而不是页面,此方式是不推荐的,毕竟有脚手架,但在一些及其特殊场景下,可能会需要类似的方式,因此作为一个记录。这种方式唯一的优点就是写完可以直接扔服务器上了-_-对 html 写 vue 的认知 很多人对 在 html 中运行 vue 项…