class Cabal::IdentityManager

Manages ssh-agent sessions for forwarding identity information via Cabal::SSH

Attributes

env[R]

@return [String] the environment settings for the running ssh-agent

Public Instance Methods

start() click to toggle source

Spawns an ssh-agent process and records its related environment settings @return [nil]

# File lib/cabal/identity_manager.rb, line 11
def start
  @env = start_agent.
    split(/(\;|\n)/).
    select {|line| line =~ /^SSH_/}.
    join(' ')
end
stop() click to toggle source

Stops a running ssh-agent that was previously spawned @return [nil]

# File lib/cabal/identity_manager.rb, line 20
def stop
  stop_agent
end

Private Instance Methods

start_agent() click to toggle source
# File lib/cabal/identity_manager.rb, line 25
def start_agent
  `ssh-agent`
end
stop_agent() click to toggle source
# File lib/cabal/identity_manager.rb, line 29
def stop_agent
  `#{env} ssh-agent -k`
end