I am following the "Troubleshooting remote connections" section in the manual.

1. I've set skipverify on the server:

body server control

{
allowconnects         => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
allowallconnects      => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
trustkeysfrom         => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
skipverify            => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };

# Make updates and runs happen in one

cfruncommand          => "$(sys.workdir)/bin/cf-agent -f failsafe.cf
&& $(sys.workdir)/bin/cf-agent";
allowusers            => { "root" };
}



1b.  I've set skipidentify on the client:


body agent control {

  skipidentify  => "true";

}


2. I've granted access to my client in the server body:


body server control

{
allowconnects         => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
# I've xxx'ed out my IP
allowallconnects      => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
trustkeysfrom         => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
skipverify            => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };

# Make updates and runs happen in one

cfruncommand          => "$(sys.workdir)/bin/cf-agent -f failsafe.cf
&& $(sys.workdir)/bin/cf-agent";
allowusers            => { "root" };
}

3. both sides have keys.  I just ran cf-key on both and got:

A key file already exists at /var/cfengine/ppkeys/localhost.pub


4.  I am not using secure copy.   (though I've tried it both ways)

body copy_from mycopy(from,server)

{
source      => "$(from)";
servers     => { "$(server)" };
compare     => "digest";
encrypt     => "true";
trustkey    => "true";  # trust the server's public key
}


5. I've tried debugging mode -d1 on cf-serverd.  As the manual
suggests, I tried -d2.

I got 200,047 lines of output in -d2.

Here's the bit right before the refusal:

Delete lval = package_add_command,s
DeleteRvalItem(s)/usr/bin/aptitude --assume-yes install
AccessControl, match(/var/cfengine/masterfiles/DATE,ve.cfengine.com)
encrypt request=1
cf-serverd access list is empty, no files are visible
Access control error
Transaction Send[t 59][Packed text]
Attempting to send 67 bytes
Delete lval = package_list_update_command,s
DeleteRvalItem(s)/usr/bin/aptitude update
Delete lval = package_delete_command,s
DeleteRvalItem(s)/usr/bin/aptitude --assume-yes remove
Delete lval = package_update_command,s
DeleteRvalItem(s)/usr/bin/aptitude --assume-yes install
SendSocketStream, sent 67
Delete lval = package_add_command,s
DeleteRvalItem(s)/usr/bin/apt-get --yes install
>From (host=ve.cfengine.com,user=root,ip=::ffff:xxx.xxx.xxx.xxx)
Delete lval = package_list_update_command,s
DeleteRvalItem(s)/usr/bin/apt-get update
Delete lval = package_delete_command,s
DeleteRvalItem(s)/usr/bin/apt-get --yes remove
Delete lval = package_update_command,s
DeleteRvalItem(s)/usr/bin/apt-get --yes install
REFUSAL of request from connecting host: (SGET   48 2048)
Terminating thread...
***Closing socket 5 from ::ffff:xxx.xxx.xxx.xxx


Here is the server configuration:

bundle server access_rules()
{
access:

  "/var/cfengine/masterfiles"

    admit   => { "127.0.0.1", "xxx.xxx.xxx.xxx" };

roles:

  ".*"  authorize => { "root" };
}


body server control

{
allowconnects         => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
allowallconnects      => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
trustkeysfrom         => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };
skipverify            => { "127.0.0.1" , "::1", "xxx.xxx.xxx.xxx" };

# Make updates and runs happen in one

cfruncommand          => "$(sys.workdir)/bin/cf-agent -f failsafe.cf
&& $(sys.workdir)/bin/cf-agent";
allowusers            => { "root" };
}


My client configuration is:

#########################################################
body agent control {

  skipidentify  => "true";

}
#########################################################

bundle agent updatefrom2
{
vars:

 "master_location" string => "/var/cfengine/masterfiles";

files:

  "/var/cfengine/inputs"

    perms => u_p("600"),
    copy_from => mycopy("$(master_location)","cfengine02"),
    depth_search => recurse("inf"),
    action => immediate;

}

############################################

body perms u_p(p)

{
mode  => "$(p)";
}


#########################################################

body copy_from mycopy(from,server)

{
source      => "$(from)";
servers     => { "$(server)" };
compare     => "digest";
encrypt     => "true";
trustkey    => "true";  # trust the server's public key
}


So what's the next step?
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to