diff --git a/template-location.properties b/template-location.properties
index abe02063bb68ba3860d633f6685d5cf6da33bd92..1506dfa9d1c1cc0e54e8942b22c207a5b004cae6 100644
--- a/template-location.properties
+++ b/template-location.properties
@@ -5,6 +5,7 @@ vms = templates/terraform/open_stack/virtual_machine.tpl
 vms_out = templates/terraform/open_stack/virtual_machine_out.tpl
 networks = templates/terraform/open_stack/network.tpl
 computingGroup = templates/terraform/open_stack/port_rule.tpl
+credentials = templates/terraform/open_stack/ssh_key.tpl
 
 [terraform.azure]
 init = templates/terraform/azure/init.tpl
diff --git a/templates/terraform/open_stack/ssh_key.tpl b/templates/terraform/open_stack/ssh_key.tpl
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b4362178deb60feaa89ad8aa9a57a3d4382a255e 100644
--- a/templates/terraform/open_stack/ssh_key.tpl
+++ b/templates/terraform/open_stack/ssh_key.tpl
@@ -0,0 +1,5 @@
+# Create ssh keys
+resource "openstack_compute_keypair_v2" "{{ infra_element_name }}" {
+  name       = "{{ user }}"
+  # public_key = "{{ user }}"
+}
\ No newline at end of file
diff --git a/templates/terraform/open_stack/virtual_machine.tpl b/templates/terraform/open_stack/virtual_machine.tpl
index 218d0f14e77165da00d82be5bf820da22cf85846..c283198470d544418c32607932c1dff0867c1f7f 100644
--- a/templates/terraform/open_stack/virtual_machine.tpl
+++ b/templates/terraform/open_stack/virtual_machine.tpl
@@ -3,7 +3,7 @@ resource "openstack_compute_instance_v2" "{{ infra_element_name }}" {
   name        = "{{ vm_name }}"
   image_name  = "{{ os }}"
   flavor_name = "{{ vm_flavor }}"
-  key_pair    = openstack_compute_keypair_v2.{{ vm_key_name }}.name
+  key_pair    = openstack_compute_keypair_v2.{{ credentials }}.name
   network {
     port = openstack_networking_port_v2.{{ i1.belongsTo }}.id
   }
@@ -26,12 +26,6 @@ resource "openstack_compute_instance_v2" "{{ infra_element_name }}" {
 
 }
 
-# Create ssh keys
-resource "openstack_compute_keypair_v2" "{{ vm_key_name }}" {
-  name       = "{{ vm_key_name }}"
-  # public_key = "{{ ssh_key_file }}"
-}
-
 # Create floating ip
 resource "openstack_networking_floatingip_v2" "{{infra_element_name ~ "_floating_ip"}}" {
   pool = "external"
diff --git a/templates/terraform/open_stack/virtual_machine_out.tpl b/templates/terraform/open_stack/virtual_machine_out.tpl
index e39fa9fbbcafa9fc0aa0e93f017fe6aafbc9e5f2..67de692d23e2e4aa6215cc85e6b1d20df344b09a 100644
--- a/templates/terraform/open_stack/virtual_machine_out.tpl
+++ b/templates/terraform/open_stack/virtual_machine_out.tpl
@@ -1,9 +1,9 @@
 output "instance_server_public_key_{{ vm_key_name }}" {
-  value = openstack_compute_keypair_v2.{{ vm_key_name }}.public_key
+  value = openstack_compute_keypair_v2.{{ credentials }}.public_key
 }
 
 output "instance_server_private_key_{{ vm_key_name }}" {
-  value = openstack_compute_keypair_v2.{{ vm_key_name }}.private_key
+  value = openstack_compute_keypair_v2.{{ credentials }}.private_key
 }
 
 output "instance_ip_{{ vm_name }}" {