如何在 AWS 上设置无密码 ssh

2024-04-21

如何在 AWS 集群上的节点之间设置无密码 ssh


以下设置无密码身份验证的步骤已针对 Centos 和 Ubuntu 进行了彻底测试。

假设:

  1. 您已经可以访问您的 EC2 机器。可能正在使用 pem 密钥,或者您拥有具有 root 权限的 unix 用户的凭据。
  2. 您已经在本地计算机上设置了 RSA 密钥。私钥和公钥分别位于“~/.ssh/id_rsa”和“~/.ssh/id_rsa.pub”。

Steps:

  1. 以 root 用户身份登录您的 EC2 计算机。
  2. 创建一个新用户

    useradd -m <yourname> 
    sudo su <yourname>
    cd 
    mkdir -p ~/.ssh
    touch ~/.ssh/authorized_keys
    

    将本地计算机上的 ~/.ssh/id_rsa.pub 文件的内容附加到 EC2 计算机上的 ~/.ssh/authorized_keys 中。

    chmod -R 700 ~/.ssh
    chmod 600 ~/.ssh/*
    
  3. 确保机器允许 sshing。在文件 /etc/ssh/sshd_config 中,确保取消注释包含“PasswordAuthentication yes”的行。如果对此文件进行任何更改,请重新启动 sshd 服务:

    service sshd restart # On Centos
    service ssh restart # On Ubuntu
    
  4. 您的无密码登录现在应该可以使用了。在本地计算机上尝试以下操作:

    ssh -A <yourname>@ec2-xx-xx-xxx-xxx.ap-southeast-1.compute.amazonaws.com
    
  5. 让自己成为超级用户。打开/etc/sudoers。确保以下两行未注释:

    ## Allows people in group wheel to run all commands
    %wheel ALL=(ALL)       ALL
    
    ## Same thing without a password
    %wheel ALL=(ALL)       NOPASSWD: ALL
    

    将您自己添加到轮组中。

    usermod -aG wheel <yourname> 
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 AWS 上设置无密码 ssh 的相关文章

  • 克隆有效,远程推送无效。通过 copssh 的远程存储库

    我按照 Tim Davis 的方法 setup a msysgit server with copssh on windows guide http www timdavis com au git setting up a msysgit
  • 通过 SSH 隧道连接到 gitosis 服务器

    我的 MacBook 上有一个 SSH 隧道设置 就像这样 ssh o ServerAliveInterval 3 N L 22222 gitosis server 22 email protected cdn cgi l email pr
  • Paramiko 和伪 tty 分配

    我正在尝试使用 Paramiko 连接到远程主机并执行许多文本文件替换 i o e client exec command perl p i e s initial replaced g conf 其中一些命令需要作为 sudo 运行 这会
  • 使用 shutdown 终止 Amazon EC2 实例

    我可以使用 API 命令终止 Amazon EC2 实例ec2 终止实例但我试图找出如何在登录到 EC2 实例本身时执行此操作 我试过了立即关闭 h但这只是 停止 实例 而没有完全终止它 有什么办法可以做到这一点吗 您可以在创建实例时设置一
  • git 附件 / ssh:ControlPath 太长

    运行命令 gitannexsync 时 出现以下错误 ControlPath too long Command ssh S
  • 在 bash 中使用 ssh 内的 Expect 执行 sudo

    我想创建一个脚本来自动在多个 Linux 主机上进行安装 我使用 ssh 密钥登录到主机 在登录中我想做一个 sudo 我正在尝试使用 Expect 我在站上有它 但是我的服务器上没有运行脚本 我该怎么做 这是我的尝试 但没有运气 bin
  • Git - 远程:致命:你在一个尚未诞生的分支上

    我正在尝试设置一个钩子来从我的桌面推送到我的服务器 这在过去已经工作了无数次 但现在我在设置新网站时遇到错误 remote fatal You are on a branch yet to be born 我一如既往地完成了与命令相同的系列
  • 无法连接到我的 aws ec2 实例上的 neo4j 服务器 - 端口 7474

    在我的 aws ec2 实例上安装 neo4j 后 以下内容似乎表明服务器已启动 bin neo4j console Active database graph db Directories in use home usr local sh
  • git clone 永远挂在 github 上

    当我按照 github 中的第 5 点 测试所有内容 时guide http help github com linux set up git ssh 命令也永远挂起 根据该指南 我应该看到一条消息 Github 不提供 shell 访问
  • 从 Docker 容器获取控制台输出

    我构建了一个安装了 Python 的映像以及一个 Python 应用程序 我的 Python 应用程序是你好世界 应用程序 只需打印 Hello World 屏幕上 Dockerfile FROM python 2 onbuild CMD
  • 用于搜索内部文件的 ssh 命令

    几周前 我的两个网站可能被 ftp 暴力攻击所利用 破坏了我网站的许多文件 我发现他们通常会在js或php文件中插入以下代码 Trojan code removed as irrelevant to this question 我想通过 s
  • Amazon EC2 微型实例没有响应

    我有几个微型实例 几周以来一直运行良好 两者都运行 WordPress 博客 在过去 24 小时内 其中一个已经停止 即使重新启动后我也无法 ssh 登录 另一个实例工作正常 ssh connect to host ec2 xxx xxx
  • 如何在 Amazon Linux 上安装最新版本的 GDAL?

    我想安装GDAL https gdal org 在运行 Amazon Linux 的 EC2 实例上 我认为它基于 RHEL 6 如果可能的话 我想避免从源代码编译 EPEL Yum 存储库中包含的 GDAL 版本对于我的目的来说太旧了 g
  • PhantomJS CPU(核心)受限吗?

    我开始做一些基于并行浏览器的测试 并想看看在达到 100 CPU 之前我可以在 EC2 大型机器上并行运行多少个浏览器 我正在使用 JMeter webdriver 插件来实际运行浏览器 对于 FireFox 实际上每个 CPU 核心有 1
  • 有人使用 Hibernate 使用 Elasticache 作为二级缓存吗?

    我发现一些线程说这是可行的 但没有找到具体的说明或配置信息 我也想从 Beanstalk 执行此操作 应用程序应该部署到 beanstalk 并使用将 hibernate 指向 elasticache 实例的配置 是的 我们能够使用二级缓存
  • EC2 增加大小后无法调整卷大小

    我已按照调整 EC2 卷大小的步骤进行操作 停止实例 拍摄当前卷的快照 在同一区域中从上一个快照创建了一个更大大小的新卷 从实例中分离旧卷 将新卷附加到同一安装点的实例 旧卷是 5GB 我创建的卷是 100GB 现在 当我重新启动实例并运行
  • 如何捕获密码提示

    我有以下代码 更新为包括 pexpect import sys import subprocess import pexpect print 0 ssh subprocess Popen ssh A t email protected cd
  • 为什么 ssh-agent 需要 root 访问权限?

    我刚刚安装了 Archbang 并尝试克隆我的 Git 项目 这需要 SSH 密钥 过去 我在 Ubuntu 和 RedHat 机器上遵循 Github 指南取得了成功 但由于某种原因 它在我的新 Arch 安装上不起作用 我已使用以下命令
  • 如何让SSH命令执行超时

    我有一个这样的程序 ssh q email protected cdn cgi l email protection exit echo output value gt 在上面的代码中 我尝试通过 SSH 连接到远程服务器 并尝试检查是否可
  • Visual Studio Code - 一个工作区中的多个远程 SSH 连接?

    我最近开始喜欢上 Visual Studio Code 和远程 SSH 扩展 它确实彻底改变了我的工作流程 然而 我发现自己保持多个窗口打开 并通过与不同服务器的不同连接 我刚刚发现您可以将不同的文件夹添加到同一工作区 但是当连接到远程服务

随机推荐

  • 带有排序指示符的表标题

    我正在尝试在 angularjs 中创建一个支持排序的简单网格 我无法弄清楚如何为每个列正确创建排序指示器 然后将其绑定到sortoptions在控制器上 这样当它们改变时 排序指示器也会改变 我的 WIP 在这里 http plnkr c
  • Django:有什么方法可以在不诉诸魔法的情况下更改 FileField 的“upload_to”属性?

    请参阅这篇博文 http scottbarnham com blog 2007 07 31 uploading images to a dynamic path with django 它已经很旧了 所以也许事情已经改变了 但在我的实验中他
  • 如何在javascript中删除二维数组中的行

    如何在 JavaScript 中使用行号删除二维数组中的行 如果我想删除第4行中的所有元素那么该怎么做呢 以下是如何使用删除行的示例splice https developer mozilla org en US docs Web Java
  • 在 JavaScript 中设置星期几

    我正在使用phonegap localNotifications 插件 它指定我可以设置每周发生一次通知 然而 看来 javascript 日期对象只有 getDay 并不是 setDay 我有一个 json 对象 表示我想设置重复的星期几
  • Azure Function 中的 Html 到 Pdf 库

    Azure功能显然还不支持System Drawing 沙箱信息 https github com projectkudu kudu wiki Azure Web App sandbox win32ksys user32gdi32 rest
  • Google OR-Tools TSP 返回几个解决方案

    我最近一直致力于使用 Google 的 OR Tools 寻找最佳路线以外的内容 我找到了一个仓库中的示例 https github com google or tools blob master examples dotnet cshar
  • 测量缩放画布上的文本

    我一直在努力处理文本测量和缩放画布 当画布未缩放时 getTextBounds 和measureText 可提供准确的结果 但是 当缩放画布时 这两种方法都无法提供与打印文本的实际大小相匹配的结果 为了进行测试 我使用以下 onDraw 方
  • `typedef typename Foo::Bar Bar' 的模板声明

    我在声明模板类型时遇到了很大的困难 如下所示 include
  • 自 iOS 7 发布以来,将不会为添加到配置文件的设备安装临时 iOS .ipa 文件

    我有一个 iOS 应用程序 我已经开发了一段时间了 最初 iOS 开发帐户中有大约 8 台设备 广告版本是通过 Hockey App 准备和分发的 没有任何问题 最近 我们添加了更多设备 但由于某种原因 临时版本不会安装在这些设备上 但继续
  • 如何实现让 UITableView 设置其单元格的插图而不在整个表格上设置插图?

    我有一个UITableViewCell内容延伸到其所有边缘 我在多个表格中使用此单元格 其中需要不同的插图 即一个表格将其从左侧插入 8 个点 另一个表格将其插入 20 个点 我想缩进父级中的单元格UITableView代码 也许cellF
  • 使用 Shopify 管理 API 创建产品

    我第一次开始使用 React 和 Node js 构建私有 Shopify 应用程序 该应用程序的目的是监听 添加到购物车 按钮 单击该按钮后 它应该使用 Shopify 产品 API 在 Shopify 后端中创建自定义产品 我在基本 J
  • 如何从 Github 隐藏 .env 文件

    我在 Rails 项目中使用 dotenv 来存储 API 密钥 我的 gemfile 中有 dotenv gem 在应用程序的根目录中创建了一个 env 并在其中列出了我的 API 密钥 但是 当我推送到 github 时 我注意到 en
  • IE 未在 TLS 相互身份验证中发送客户端证书

    我正在尝试与第三方 API 建立 TLS 相互身份验证 客户端证书配置良好 当我尝试通过 Chrome 访问端点 url 时 它工作正常 Chrome 要求在消息框中确认证书 当我这样做时 页面会显示其内容 当我尝试使用 IE 执行同样的操
  • Routes.rb vsrack-rewrite vs nginx/apache 重写规则

    我的应用程序的前一个版本中的遗留 URL 有数十条重写规则 我看到三个选择 只需在路由文件 config routes rb 中添加 匹配 行 Use 机架重写 https github com jtrupiano rack rewrite
  • 用于展平嵌套列表的递归生成器

    我是一名编程新手 在理解我的 Python 教科书 Magnus Lie Hetland 的 Beginning Python 中的示例时遇到了一些困难 该示例是一个递归生成器 旨在展平嵌套列表的元素 具有任意深度 def flatten
  • Apple 听写 - 在应用程序中使用

    有什么方法可以在本机 Apple 应用程序中利用 Apple 的听写语音转文本功能吗 你的问题有点模糊 最好先知道你尝试使用或做什么 或者你想要实现什么目标 更常见的是关键字识别 API 但可以用于此目的的语音识别 API 是张开耳朵 ht
  • iOS Storyboard:ViewController 外部和场景顶部的视图(第一响应者和退出框之间)

    我很难理解为什么你可以把UIViews之外的UIViewController在故事板上 以及它的用例可能是什么 例如 在故事板上我可以添加UIToolbar UIAcitivtyIndicator and UIProgressView那是在
  • 如何在类模板中使用文件范围的命名空间声明?

    C 10 介绍文件范围的命名空间 https learn microsoft com en us dotnet csharp language reference proposals csharp 10 0 file scoped name
  • 安卓蓝牙无法连接

    我遇到这个问题已经有一段时间了 但一直无法解决 我有一个 Android 应用程序 它将所有配对的设备放在列表视图中 当您单击列表项之一时 它将发起连接到该蓝牙设备的请求 我可以毫无问题地获取设备列表及其地址 问题是 一旦我尝试连接 我就会
  • 如何在 AWS 上设置无密码 ssh

    如何在 AWS 集群上的节点之间设置无密码 ssh 以下设置无密码身份验证的步骤已针对 Centos 和 Ubuntu 进行了彻底测试 假设 您已经可以访问您的 EC2 机器 可能正在使用 pem 密钥 或者您拥有具有 root 权限的 u