Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Това е прост скрипт на Python, който предоставя графичен потребителски интерфейс (GUI) за качване и сваляне на файлове чрез SSH.
Скриптът ви подканва да въведете следната информация:
IP адрес: Въведете IP адреса на отдалечения сървър.
SSH потребителско име: Въведете потребителското име, което да използвате за SSH удостоверяване.
След това скриптът представя две опции:
Качване на файл: Въведете локалния път на файла, който искате да качите, и отдалечения път на сървъра, където искате да го качите.
Изтегляне на файл: Въведете отдалечения път на файла, който искате да изтеглите, и локалния път, където искате да го запишете.
Направил съм SSH ключът да е статичен. За това ще трябва да промените името на ключа с името на вашият ключ.
Трябва да имате инсталиран Python на вашата система. Скриптът използва библиотеката tkinter за създаване на GUI
Трябва да започнете със създаване на нов файл с разширение ".py". Отворете любимият си тестов редактор и добавете следният код:
# Author : Fedya Serafiev
# Version : 1.3
# License : MIT
# Copyright : Fedya Serafiev (2023)
# Github : https://github.com/fantomas4o/ssh-transfer-script.git
# Contact : https://urocibg.eu/
import tkinter as tk
import subprocess
class SSHFileTransferApp:
def __init__(self, root):
self.root = root
self.root.title("SSH File Transfer")
# Описание на променливите и тяхната инициализация
self.private_key_path = "~/.ssh/key.id_rsa"
self.ip_var = tk.StringVar()
self.username_var = tk.StringVar()
self.local_file_var = tk.StringVar()
self.remote_file_var = tk.StringVar()
# Създаване на текстовите полета
self.create_entry("IP адрес:", self.ip_var)
self.create_entry("Потребителско име за SSH:", self.username_var)
self.create_entry("Локален път до файла:", self.local_file_var)
self.create_entry("Път на сървъра до файла:", self.remote_file_var)
# Създаване на бутоните и резултатен текст
upload_button = self.create_button("Качване на файл", self.upload_file)
download_button = self.create_button("Сваляне на файл", self.download_file)
self.result_label = tk.Label(root, text="")
self.result_label.pack()
def create_entry(self, label_text, text_variable):
label = tk.Label(root, text=label_text)
label.pack()
entry = tk.Entry(root, textvariable=text_variable)
entry.pack()
return entry
def create_button(self, button_text, button_command):
button = tk.Button(root, text=button_text, command=button_command)
button.pack()
return button
def upload_file(self):
ip = self.ip_var.get()
username = self.username_var.get()
local_file_path = self.local_file_var.get()
remote_file_path = self.remote_file_var.get()
cmd = f'scp -i {self.private_key_path} {local_file_path} {username}@{ip}:{remote_file_path}'
subprocess.run(cmd, shell=True)
self.result_label.config(text="Файлът беше успешно качен.")
def download_file(self):
ip = self.ip_var.get()
username = self.username_var.get()
local_file_path = self.local_file_var.get()
remote_file_path = self.remote_file_var.get()
cmd = f'scp -i {self.private_key_path} {username}@{ip}:{remote_file_path} {local_file_path}'
subprocess.run(cmd, shell=True)
self.result_label.config(text="Файлът беше успешно свален.")
if __name__ == "__main__":
root = tk.Tk()
root.geometry("400x300") # Задаване на размерите на прозореца
app = SSHFileTransferApp(root)
root.mainloop()
Променете key.id_rsa с вашето име на ключа.
Запазете файла и му дайте име, примерно transfer-ssh.py
Отворете терминал и отидете до папката, съдържаща скрипта.
Стартирайте скрипта, като изпълните следната команда:
python3 transfer-ssh.py
Ще се отвори прозорецът на GUI. Следвайте подканите.
Това е.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut