infracloud/dev-scripts/transfer_ssh_keys.py

24 lines
973 B
Python

import os
import subprocess
ssh_dir = os.path.expanduser("~/.ssh")
exclude_files = ["authorized_keys", "known_hosts", "known_hosts.old", "agent"]
def transfer_keys():
files = [f for f in os.listdir(ssh_dir) if os.path.isfile(os.path.join(ssh_dir, f)) and f not in exclude_files]
print(f"Iniciando transferência de {len(files)} arquivos para echo...")
for f in files:
local_path = os.path.join(ssh_dir, f)
print(f"Enviando {f}...")
# Usar scp para enviar cada arquivo individualmente
subprocess.run(["scp", "-o", "StrictHostKeyChecking=no", local_path, f"echo:~/.ssh/{f}"], check=True)
print("Ajustando permissões remotas...")
# Ajustar permissões: 600 para privadas, 644 para públicas e config
subprocess.run(["ssh", "echo", "chmod 600 ~/.ssh/* && chmod 644 ~/.ssh/*.pub ~/.ssh/config"], check=True)
print("Transferência concluída com sucesso!")
if __name__ == "__main__":
transfer_keys()