首页 > 其他分享 >AWS ec-2基于SSH连接以及初始化指南

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

时间:2024-06-22 18:10:46浏览次数:12  
标签:公钥 创建 AWS 用户 ec SSH 本地 ssh

概述

首先我们需要先了解一下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>

大功告成!

标签:公钥,创建,AWS,用户,ec,SSH,本地,ssh
From: https://www.cnblogs.com/dijkstra2003/p/18048394

相关文章

  • drogon orm分页问题,req->getJsonObject()为空会导致Segmentation fault
    2024年6月22日17:14:12req->getJsonObject()获取json数据的时候,如果没有提前判断if(req->getJsonObject()==nullptr){throwstd::invalid_argument("参数json不能为空");}autojsonPtr=req->getJsonObject();官方文档:h......
  • 【阿里云服务器】【弹性云服务ECS】通过ssh登录远程服务器
    一、操作系统使用Windows11主机上的Ubuntu子系统,如下图所示:二、云服务器登录方法需知道:服务器ip地址、登录名和自己设置的登录密码:上述系统用户名为root,需要在Ubuntu子系统中同样切换至root用户,才能正常登录:登录命令:sshxx.xx.xx.xx(服务器ip地址)然后按照提示输......
  • 使用Kubesec检查YAML文件安全
    目录一.系统环境二.前言三.Kubesec简介四.使用Kubesec检查YAML文件安全五.总结一.系统环境本文主要基于Kubernetes1.22.2和Linux操作系统Ubuntu18.04。服务器版本docker软件版本Kubernetes(k8s)集群版本CPU架构Ubuntu18.04.5LTSDockerversion20.10.14v1.22.2......
  • 深度学习(中文word2vec)
    这里用了gensim和jiba分词库,jensim原生是支持英文的,如果想使用中文word2vec,还需要自己训练一下。中文语料库可以在这里下载:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2 stopwords.txt这里下载:https://files.cnblogs.com/files/tiandsp/st......
  • ubuntu修改root密码以及开启root ssh远程连接
    root密码ubuntu默认的root用户是没有固定密码的,它的密码是随机产生并且动态改变的,即每次开机都有一个新的root密码,所以拿到一台新的Ubuntu系统服务器后,我们需要设置一个固定的root密码。修改root用户密码sudopasswd然后它会提示你输入安装操作系统时初始用户的密......
  • JeecgBoot-queryFieldBySql-远程命令执行-RCE漏洞
    影响范围:3.0.0<=jeecg-boot<=3.5.32.4.x<=jeecg-boot<=2.4.6POC:POST/jeecg-boot/jmreport/queryFieldBySqlHTTP/1.1Host:ipPragma:no-cacheCache-Control:no-cacheSec-Ch-Ua:"GoogleChrome";v="125","Chromium&q......
  • kedaOJ-#P2574. [USACO 21DEC.B] Lonely Photo
    题目[USACO21DEC.B]LonelyPhoto思路include<bits/stdc++.h>usingnamespacestd;defineintlonglongdefineN500010intn,m,i,j,k;intl[N],r[N],ans;chara[N];signedmain(){scanf("%d%s",&n,a+1);for(i=1,k=0;i<=n;++i)......
  • Effective C++ 改善程序与设计的55个具体做法笔记与心得 4
    四.设计与声明18.让接口容易被正确使用,不易被误用请记住:好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质“促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。“阻止误用”的办法包括建立新类型、限制类型上的操作、束缚......
  • Rockchip RK3588 - Rockchip Linux Recovery升级
    ----------------------------------------------------------------------------------------------------------------------------开发板:ArmSoM-Sige7开发板eMMC:64GBLPDDR4:8GB显示屏:15.6英寸HDMI接口显示屏u-boot:2017.09linux:5.10-------------------------------......
  • 【YOLOv8改进 - 特征融合NECK】 HS-FPN :用于处理多尺度特征融合的网络结构,降低参数
    摘要在标准的医院血液检测中,传统过程需要医生使用显微镜从患者的血液显微图像中手动分离白细胞。然后,这些分离出的白细胞通过自动白细胞分类器进行分类,以确定血液样本中不同类型白细胞的比例和数量,从而辅助疾病诊断。这种方法不仅耗时费力,而且由于图像质量和环境条件等因素,容易出......