Class: Sumodev::Commands::Push
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Sumodev::Commands::Push
- Defined in:
- lib/sumodev/commands/push.rb
Defined Under Namespace
Classes: AuthorizedKeys
Constant Summary collapse
- DEV_TEAM =
{ :Jan => {:groups => ['admin', 'developer', 'root'], :identity => '[email protected]', :key => 'AAAAB3NzaC1kc3MAAACBAP41tq+1L7MqdI2+ugo0wq5IDcLSWpXXxSqHwrDVpqLcNNjpCd1QMnJ0ZY0HaRZ9YVwMFzu/cyDTgD9JZnQjcBjNhKfgOC2GX3IEsJAEM/O2kzmikTK4xFqIeeTdIqqICxlMimrFNqKoXJARueNlPITwGkkEiLy9EydTs9Cj3cHHAAAAFQD7RLZI6BtwVjgRe4XPXZdJBFN2CwAAAIEAvWaJjP0vueLwDYB2FDIm8VT8Wm4glne9Ilo0hylM2HVffdCICqjIIjn+bcYTg3SfzQcXcUYsk1sKQ0nKdICOl+dfiQs3/rTW3NNner1UewDeas9nSJN3e2Y4hyXS1tI9UOXzN76XHJM8GBz7RAhFB4ZHKVeZHsyrG2yXKiQTO8IAAACAUcAms34UNsbBLGZ3MOPJ18A2aYr6ju+N2VPkSd74sC1K6E0DSda/xJPKffZUPCWqmEdjhkXDvnNq73R4YG9x8dvXGCSzdSXMJfr9lYQNt9PT8D18UVUuZHgC8PjKEL7Xw8xbd2yOp58SADMpEZdKSMmhHsgFuW1T2TKGM72Pmd4=', :protocol => 'dss'}, :Tijs => {:groups => ['admin', 'developer', 'root'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAABIwAAAQEAueoZUITVE/YVZVZVi4cngE7FPK5+a3mt0mTtELdFM4JmXg7UmrQ1On2IwIdHw5Cq+VnrutRgWvQkfp+WaC2tzOrlzccpMeMv5lTRH7bRp6qR4FivJ/Aq7YeUrNJpzncUVTwyeHrveuhfCxEQoOIM2gN0Y54NGDTOp01D7GHApsYkObsw/3N7jgQVoL6xKPwRTMI52tFzUlkv+df78vx87X7bYK05dO4Ol8U0yFyKlV17+BEM4UuI/aTXhkNsBVNCqiksaqQwEGDK8IqyrNFYhbRwYDunTXc8zdd6imYfEJUSNdjOzTXUNUc15ssTMBsGpfvF/2bhYRlHuRWZP9BUqw==', :protocol => 'rsa'}, :Jens => {:groups => ['admin', 'root'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAABIwAAAIEAojZQXjhcy3fpHNEBqlj2C3EV+G+vOTSBvcn+U3Sq7eml+NrQqGoasAvC+c6bajJTRB0ZujynsUAWghDM43zY1SIbZl6PC0jdZg7qGjzlpOFdG96b84agiE6Dnz8Mjnb6846tJdslRV2Yyc9Y8iSgW3s3mszmW2hqHpZ4EqbVuPc=', :protocol => 'rsa'}, :Mathias => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDLBHWXILbcsYfoDYCgJq4B3Q9ElcZq0hRWo8otXWsOP1pYU8Kq2thWbIB+RkuZr8Y7DMI2XtGXSquWJdx0Beddxt+yVoE/eReorVuB74bnEVXYtcZ8+mNHU6paC1T4XHMWjEXSgaEaSPdxnQxPPzQ+YDuJkYWaCrLxDyWe4sqio0R5SA5CasTkei5dHIfIzj8a16JvTj/FlbNrGHzdSwWY04QoSRdN3rpWJ4krzlHz5NIJmBhUxW15d9NgmKPGJYHmUyY1nfXdb82/zUS1vt6A/46hMJzRXhQuxzNVNBFN2q8d/bXhsNW6AZ467auWO3NLBUOfGHMX+Ga6FQiyCdhd', :protocol => 'rsa'}, :Jonas => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQCtGlJ6rNof3BcHTh7mPELGfVOThfP9LnRZOXHYnzahok1XjWxhQlafdJYblFyhnC0qpo0IqHO6dqNzYXq3JAXDRT2b3Cuq7M1v9f91Fk3EVtP53k+Q8FdFSgjdGZj/JhrP3Y7yctXKXaUCpqBBTaVd+Wy2KEIPHBAmspCAKHcbrBmOUzuWhREI5+ZU3SQ85c8fkTFifln2Tlrc15StfgwQ/epAMZYuYzWZLwfamBLqQCGTIfUNMF4JdFiuQuDLr5enH3d5gM8GjQr/Z17K8MLZhNmKhqrlTOJfX8egD82TL/SYNpkHgnmyYfj4MF85zu5JuaR2Ab18gAYVyoCJfAzR', :protocol => 'rsa'}, :Jelmer => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDEPm7EZctIAbdiTYIL/Oelaqiu39JjrSqxD0N80m66w/KLdvQiAEPWRinBKPCzBsmcMKuA0MMoDzykTLgNsVoAnR5hzAOJeL96803vN3FC/LeJw09Mcrh1WXoY6T5KLZFcPuaxwwx4IASWgbTEHetmJVtMey423phs1X1feT6QQaHeh3ryAe3qaMs1Z7ksOEsyifUOC67Aa/G0IbP3QJlYOk1wtLvQ+4+uIoyG3BJ9RM17gMrHMTBH2eUc/Tk4kYv/3LPlajwXb1U0fNNqgrWaOcsDoqsHShh+f0dPj83X1KTBp8FspTcm9ww7KaAjgvWwH6B3XIbsSAwgsQHNaWQj', :protocol => 'rsa'}, :Wouter => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDPMmfnXWFuuT9h/CRY+S4apJLbBfMpM6wZ1dcqtIk4O5P0rSmnXIZZpZP9XGxU5dP2+y6KGj+Egr4YZClKTHTgTcVEukW3n73c2ObCg5bCW+wJxvk3ns6G046rWACLIkX+Ben3YhBa09mXnPk0CRtzHUIrnMsExaxnaU/cJ7miF9gJq5pm8gwH0f0Ek7hWHtGVralEJX97wwey4rB/0js7YQqKjYtwtUncnVjRntyrLkIZ/gXnY9FZEqH+GGXho6yhqAT2+VkWdax+cyIZxvimfNcA7mCTStv/1pMSrrygMnONZ6TLDdJm+2THh9tRZ3UoWGQUlWJ1QnV5Ox2cVWvj', :protocol => 'rsa'}, :Stijn => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQD6OcLSJGrR8PQ4hCnPVrnyXbhiCQSeB2l8JitV1NcrbwxwZ15wh4xDNKhhUlIlxGnXWLLadOePEhJ2ESUjEm2x5FJ1p06Bj6rsEDGvKBtUjUq5PXFvKY8qoyc6jV1vjz6FXuZBHk7k9X5JIZhORAs1LcwCpOEQwsfjnJ1KGBanvcFbAIpRej4qlzAKcfDtykC8XTODlSgj6GSqLz65LY+SrdTDe2XZ4qHyntVXbnLjX9fRaVWInU8fkoKUkLogUTRXszAKUfqrJBI7em3FQqOu40gRrdzevS4vTbeNu+fe9rodVmlBKEFdbKELhppke7a/kN04vcATazXJOKoGh/v/', :protocol => 'rsa'}, :Katrien => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQCnIup0Q/3Ja/YQWrpg20yhWARfS3kdL2obssWvwlVOZv08vsxiH4S5KrYLQW5Fn5ethBsuKDb0yuZzFfsVkbv1uXMYRRqmEW+HnlF+tchsRqpVqUKNTWigtw3zeuDHDsk3GJzQHCpUI8ha/1CBZRre0oxYJCHYH8wslji33ZAn3HxbUH9Y+E3XnWjfrgK05oY5SVgbQ6bf0Fn1UZ3uai7+xh1kNPsUM3Rx91vdhhhQi4SesFwaslYB4gnG010fgp0Hn9DTV7P6Vk7AFVWRw12Zvmhi97BC9IglKP9qHYVf60gObbuuoXK5zBlIrRnbytm7ZXt/kVNT5OL+P5H9OLkt', :protocol => 'rsa'}, :Dylan => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQCmAqNeSwxGcr4xDyR4PvgeoE3d1m5Neqn/PqtQD3+VNLRAdhUmi91+qmN4s1y5wNGbEeAXiKMB/zYBl1+rXYOJlRCerZWjqzakkjzMCLO/d8pjzP4fUng2/SEuLodQ421dUfXlD7W3mSi5Ojtw6MCfmkiRgcCv83aS2H8qaUr+jPZn0HS7+cV8MRb86dq2UPAafrXgDjItTIRJa3guyx4cCfH2eHgBcgyJVlM+01KVWnlHEkHRcbNHHq89/lTPvGiwhEmU2LuJK509SFcfcE9R+qQ+1rUmDkEkKwrIQemRYl1h6Y52OPYH8+T/s5fo9IzMqGFjt0hbrOBLeQmX0LaF', :protocol => 'rsa'}, :Bjorn => {:groups => ['developer'], :identity => '[email protected]', :key => 'AAAAB3NzaC1yc2EAAAADAQABAAABAQCxsXOhEr9xHB6wEcNfSTkKGgppDXbgVrkKLVot8NgF18We+GWVJVDUfCqAn3Eix123JVpFiZm/u3qnymUSQ//r4FNLCwqtUlWbi3bz5O4AMOlMCx+oTBSEiS0fqTyvg/3oZz1Z3tH1wdL/qM9uygxG2adxcIW5AJ1F+sXZCczYGYFhXkImz/1HaozdkWcTSuvuWZcW5dTgcPTpkUlVo/uYKQSlS8z8iSh1xsI94y4SbYj9j3G5aEugjP0w7AjPBqfY0e4WVA2EkTn878dBN9lvI2RkOeb0cHimnjAgko5a2W17ECMZ7eQpAto0tsN8XiohyGZPGOHvcHPBbIvbCjRD', :protocol => 'rsa'} }
Instance Method Summary collapse
Instance Method Details
#replace_keys ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/sumodev/commands/push.rb', line 25 def replace_keys connect do |ssh| say "Pushing SSH keys to #{login}@#{host}" ssh.exec! 'mkdir -p ~/.ssh; touch ~/.ssh/authorized_keys' say "Checking authorized_keys file" keys_file = ssh.scp.download!('.ssh/authorized_keys', nil, :verbose => true) do |ch, name, sent, total| say "#{name}: #{sent}/#{total}" end = AuthorizedKeys.new(keys_file) .each do |user| say "Adding #{user[:identity]}" .add user end say 'Uploading updated authorized_keys file' ssh.scp.upload!(.to_io, '.ssh/authorized_keys', :verbose => true) do |ch, name, sent, total| say "#{name}: #{sent}/#{total}" end end rescue Net::SCP::Error $stderr.puts $stderr.puts "ERROR - There seems to be an error fetching the file from the server." $stderr.puts "Make sure you have SSH access and a working shell" exit 1 end |