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.
PS我使用vagrant进行配置(ssh vagrant@192.168.33.10
是成功的)
答案 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