【问题标题】:Cannot enter user through ssh无法通过 ssh 进入用户
【发布时间】:2014-01-08 23:24:17
【问题描述】:

我使用 Chef recipe 通过以下配方创建用户“应用程序”:

user node.app.user do
  password '12345678'
  gid node.app.deploy_group
  home node.app.user_home_path
  shell '/bin/bash'
  supports :manage_home => true
  system true
end

directory "/home/#{node.app.user}/.ssh" do
  action :create
  owner node.app.user
  group node.app.deploy_group
end

template "#{node.app.user_home_path}/.ssh/authorized_keys" do
  source "authorized_keys.erb"
  owner node.app.user
  group node.app.deploy_group
  mode "0644"
end

但是当我尝试通过 ssh 进入时

$ ssh app@192.168.33.10
$ app@192.168.33.10's password:
$ 12345678
$ Permission denied, please try again.

我不能通过 ssh 密钥进入,而不是通过密码。我做错了什么?

PS 我使用 vagrant 进行配置(ssh vagrant@192.168.33.10 成功)

输出:$ ssh -vv app@192.168.33.10 这里:

https://gist.github.com/itsNikolay/c319e1b3fda884d1cc9e

【问题讨论】:

    标签: linux ssh chef-infra vagrant


    【解决方案1】:

    User.password 实际上是密码影子哈希 (see docs)。尝试像这样获取密码的哈希值:

    mkpasswd -m sha-512 12345678 saltsalt
    

    然后在user.password中使用获得的字符串。另外 linux 不允许使用 system 用户登录(我不确定,这里),所以你应该将 system 设置为 false

    user node.app.user do
      password '$6$saltsalt$9vIXh5xFJESF2.DxxXyWlpOT.0t06Y2Pk11StIw2L8oaOTl42ZfuhPPi5h2PPjbLI.FnnhTBEMMcL05LS2ZmY.'
      system false
      [...]
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      • 2021-08-22
      • 2017-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多