Я пишу сценарий в Python, который требует подключения к remote_server
с SSH и перемещения file
от remote_server
до host_server
. Мне нужно сделать это без пароля, поскольку он должен работать на любом удаленном сервере и любом хост-сервере.Как подключиться к удаленному серверу с paramiko без пароля?
Мой код:
#get IP and username for remote access
IP = input("Enter host_server IP: ").split()
username = input("Enter username: ").split()
#password = ???????
#create a file on host_server for file
file_a = open(date+"file.txt", "a") #ignore the date variable
file = str(date+"file.txt")
#move file to host_server
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(IP[0], username = user[0], password = password[0])
print "Connected to server."
transfer = ssh.open_sftp()
transfer.get("file.txt", file)
transfer.close()
print "Transfer completed."
Вопрос: Есть ли способ, чтобы создать открытый ключ в сценарии без доступа к терминалу командной строки, так что каждый раз, когда скрипт запускается он будет создан беспарольной доступ с SSH?