Почему при использовании paramiko не удается получить доступ к корневой директории сервера?

Как можно исправить скрипт SSH на Python для правильного доступа к корневому каталогу сервера?
  • 17 мая 2024 г. 16:00
Ответы на вопрос 2
Проблема может быть связана с тем, что при подключении к серверу с помощью paramiko, по умолчанию вы находитесь в текущей директории пользователя, а не в корневой директории. 

Для того чтобы получить доступ к корневой директории сервера, вам необходимо изменить текущую директорию на корневую. Для этого вы можете использовать метод `chdir` объекта `SFTPClient`, который позволяет изменить рабочую директорию.

Пример исправленного скрипта:

```python
import paramiko

# Установка параметров подключения
hostname = 'hostname'
port = 22
username = 'username'
password = 'password'

# Подключение к серверу
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname, port, username, password)
sftp = client.open_sftp()

# Изменение текущей директории на корневую
sftp.chdir('/')

# Получение списка файлов в корневой директории
files = sftp.listdir()

# Вывод списка файлов
for file in files:
    print(file)

# Закрытие подключения
sftp.close()
client.close()
```

Этот скрипт подключается к серверу, изменяет текущую директорию на корневую и выводит список файлов в корневой директории.
Потому что, надо сначала задать вопрос гуглу "python paramiko change directory", там тебе всё расскажут, а не прибегать сразу сюда.
Похожие вопросы