anyone good with ssh-agent & cronjobs?
Lonni J Friedman
netllama at gmail.com
Wed Jul 30 11:42:18 PDT 2014
The problem was that I didn't know how to get the correct variables
inside the scripts. However, I did manage to sort it all out. For
anyone else struggling to get ssh working with ssh-agent from
non-interactive shells (cron, etc):
0) Install keychain http://agriffis.n01se.net/keychain/
1) Run keychain against your ssh private key:
keychain ~/.ssh/id_dsa
2) Add the following command to your script to souce the appropriate
variables required to connect to the pre-existing ssh-agent session
which has your keys pre-loaded:
source $HOME/.keychain/${HOSTNAME}-sh
On Wed, Jul 30, 2014 at 9:57 AM, David A. Bandel <david.bandel at gmail.com> wrote:
> Lonnie,
>
> Are your scripts picking up the user's environment variables? I've seen
> this failure and seem to recall that it was because the script was running
> without the necessary user environment. Too often cron jobs aren't sourcing
> everything they need.
>
> David-
>
>
> On Tue, Jul 29, 2014 at 8:01 PM, Bill Campbell <linux-sxs at celestial.com>
> wrote:
>>
>> On Tue, Jul 29, 2014, Lonni J Friedman wrote:
>> >I'm trying to sort out the right way to use ssh-agent (using ssh keys)
>> >from inside of shell script driven cronjobs. ssh-agent works fine
>> >outside of the crobjob (and even if I run the shell script manually).
>> >However, when invoked via cron, the script fails to connect to the
>> >pre-existing ssh-agent, and ssh auth fails as a result. I've googled
>> >quite a bit, and the advice is rather muddy. There are dozens of
>> >super hacky 'solutions', which seem to work for some people and not
>> >others. The crux of the problem seems to be figuring out a reliable
>> >way of acquiring the SSH_AUTH_SOCK & SSH_AGENT_PID variables for the
>> >pre-existing ssh-agent session that already has all my ssh keys loaded
>> >into it. I'd like to think its as easy as running 'ssh-agent -s',
>> >however all that seems to do is spawn a new agent session which has no
>> >keys pre-loaded, and is effectively useless.
>> >
>> >What am I missing here? Surely this has to work, right?
>>
>> It's been a while since I did this. I think one way to do this is to use
>> keys with empty pass phrase which doesn't require ssh-agent.
>>
>> Most of the remote cron things I do now are done via XMLRPC calls to a
>> server on the remote machine to handle specific tasks such as running
>> 'make' in a DNS directory after updating zone files.
>>
>> Using rsync modules works well with the primary security allowing access
>> to
>> specific modules based on the IP address of the connecting system.
>>
>> Bill
>> --
>> INTERNET: bill at celestial.com Bill Campbell; Celestial Software LLC
>> URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way
>> Voice: (206) 236-1676 Mercer Island, WA 98040-0820
>> Fax: (206) 232-9186 Skype: jwccsllc (206) 855-5792
>>
>> Common sense is genius dressed in its working clothes.
>> -- Ralph Waldo Emerson
>> _______________________________________________
>> Linux-users mailing list
>> Linux-users at linux-sxs.org
>> http://mailman.celestial.com/mailman/listinfo/linux-users
>
>
>
>
> --
> Two things are infinite: the universe and human stupidity; and I'm not sure
> about the the universe. -- Albert Einstein
> Visit my web page at: http://david.bandel.us/
>
> _______________________________________________
> Linux-users mailing list
> Linux-users at linux-sxs.org
> http://mailman.celestial.com/mailman/listinfo/linux-users
>
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
L. Friedman netllama at gmail.com
LlamaLand http://netllama.linux-sxs.org
More information about the Linux-users
mailing list