linux - centos 7 AWS(使用 ssh key 和密码登录)

标签 linux amazon-web-services ssh authentication centos

我想使用 ssh key 密码通过 ssh 登录到我的 Centos 7 AWS 机器。

但是当我通过 ssh 进入我的机器时,我没有被提示输入密码就登录了。

我的情况:

  • AMI:CentOS 7 (x86_64) - 带有更新 HVM
  • 我禁用了 root 登录并创建了 user1 以使用 ssh 登录
  • user1 ~/.ssh 拥有权限:0700
  • user1 ~/.ssh/authorized_keys 拥有权限:0600
  • user1属于wheel组
  • user1 设置了密码
  • sshd_conf:

Match User user1
        PasswordAuthentication yes
        PubkeyAuthentication yes

最佳答案

如果您的 key 在 authorized_keys 中,则不需要密码。

如果您想使用密码来解锁您的 key ,这样如果有人窃取了您的 key ,他们将无法通过 ssh 访问您的机器,那么请使用 ssh-keygen 生成受密码保护的 key ,然后用那个。

然后您可以通过在 /etc/ssh/sshd_config 中设置 PasswordAuthentication no 来强制进行 ssh key 验证。

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

这样,用户将被迫使用 key ,并使用密码解锁该 key 。

关于linux - centos 7 AWS(使用 ssh key 和密码登录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46959886/

相关文章:

bash - 如何使用 sshpass 命令从远程机器获取退出代码

c - 在unix中打开系统调用

python - nTop RRDalarm 配置

python - 如何在 AWS Elastic Beanstalk 中使用 Plotly Python SDK

azure - ssh:连接到端口 22 上的主机:连接被拒绝

git - Jenkins Git 插件 - stderr : plink: unknown option "-o"

Android emulator-5554 离线,2 个具有相同名称和 ID 的进程在不同的端口上运行?

linux - 每次我开始时,Visual Studio Code 都要求对 'Default keyring' 进行身份验证

amazon-web-services - 用于具有多个 CIDR IP 的云形成安全组的 YAML CF 模板

reactjs - 使用 AWS Cognito 和 React 仅通过 Facebook/Google 登录(无用户名/密码)