diff --git a/xtrabackup/meta/salt.yml b/xtrabackup/meta/salt.yml
new file mode 100644
index 0000000..36c32d3
--- /dev/null
+++ b/xtrabackup/meta/salt.yml
@@ -0,0 +1,23 @@
+{%- if pillar.get('xtrabackup', {}).get('client') %}
+
+{%- set addresses = [] %}
+{%- set ips = salt['grains.get']("fqdn_ip4")|list %}
+{%- if ips %}
+  {%- for ip in ips %}
+    {%- if not (ip|string).startswith('127.')  %}
+    {%- do addresses.append('- ' + ip) %}
+    {%- endif %}
+  {%- endfor %}
+{%- endif %}
+{%- if addresses %}
+grain:
+  xtrabackup:
+    xtrabackup:
+      client:
+        addresses:
+        {%- for address in addresses %}
+          {{ address }}
+        {%- endfor %}
+{%- endif %}
+
+{%- endif %}
diff --git a/xtrabackup/server.sls b/xtrabackup/server.sls
index c910389..5ec95a9 100644
--- a/xtrabackup/server.sls
+++ b/xtrabackup/server.sls
@@ -46,10 +46,27 @@
 
 {%- if key.get('enabled', False) %}
 
+{%- set clients = [] %}
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+{%- if node_grains.get('xtrabackup') and node_grains.xtrabackup.get('client') %}
+{%- set client = node_grains.xtrabackup.get("client") %}
+{%- if client.get('addresses') and client.get('addresses', []) is iterable %}
+{%- for address in client.addresses %}
+{%- do clients.append(address|string) %}
+{%- endfor %}
+{%- endif %}
+{%- endif %}
+{%- endfor %}
+
 xtrabackup_key_{{ key.key }}:
   ssh_auth.present:
   - user: xtrabackup
   - name: {{ key.key }}
+  - options:
+    - no-pty
+{%- if clients %}
+    - from="{{ clients|join(',') }}"
+{%- endif %}
   - require:
     - file: {{ server.backup_dir }}/full
     - file: {{ server.backup_dir }}/incr
