Сохраняется ли проблема, если вы подтверждаете, что на сервере subversion есть файл /home/bzerbe/.ssh/authorized_keys
, содержащий открытый ключ от devapp ? И этот файл имеет режим 0600?
В вашей команде ssh -vvv указано:
debug1: Offering RSA public key: /home/bzerbe/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
Когда я запускаю аналогичную команду ssh -vvv на хосте, которая завершается успешно, я получаю другую запись в журнале:
debug1: Offering DSA public key: /home/vagrant/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Authentication succeeded (publickey).
Похоже, вы предлагает ключ, а на сервере подрывной деятельности отсутствует открытый ключ в правильном файле.
В вашем вопросе говорится: «Я тоже выполнил все рекомендации по настройке прав доступа к каталогам», но неясно, были ли они включены в devapp или subversion .
На сервере subversion ваша конфигурация sshd ожидает, что этот открытый ключ будет в /home/bzerbe/.ssh/authorized_keys
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
Надеюсь, это поможет.
Вы также можете сделать это с помощью Python.
Вот скрипт python, который я использую для перемещения случайного процента изображений, который также получает связанные наборы данных меток, которые обычно требуются для наборов данных изображений CV. Обратите внимание, что это перемещает файлы, потому что я не хочу, чтобы мой тестовый набор данных для обучения был в моем наборе данных для обучения.
Я использую приведенное ниже для обучающих наборов Yolo, так как метки и изображения находятся в одном каталоге, а метки представляют собой файлы txt.
import numpy as np
import os
import random
#set directories
directory = str('/MauiData/maui_complete_sf_train')
target_directory = str('/MauiData/maui_complete_sf_test')
data_set_percent_size = float(0.07)
#print(os.listdir(directory))
# list all files in dir that are an image
files = [f for f in os.listdir(directory) if f.endswith('.jpg')]
#print(files)
# select a percent of the files randomly
random_files = random.sample(files, int(len(files)*data_set_percent_size))
#random_files = np.random.choice(files, int(len(files)*data_set_percent_size))
#print(random_files)
# move the randomly selected images by renaming directory
for random_file_name in random_files:
#print(directory+'/'+random_file_name)
#print(target_directory+'/'+random_file_name)
os.rename(directory+'/'+random_file_name, target_directory+'/'+random_file_name)
continue
# move the relevant labels for the randomly selected images
for image_labels in random_files:
# strip extension and add.txt to find corellating label file then rename directory.
os.rename(directory+'/'+(os.path.splitext(image_labels)[0]+'.txt'), target_directory+'/'+(os.path.splitext(image_labels)[0]+'.txt'))
continue