无法通过ssh进入用户

时间:2014-01-08 15:13:57

标签: linux ssh chef vagrant

我使用Chef recipe通过以下方法创建用户'app':

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 here:

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

1 个答案:

答案 0 :(得分:2)

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