2016-05-23 8 views
1

Я работаю над встроенной платой (i.MX6) с встроенной Linux-платформой Yocto. До сих пор я использовал Dropbear в качестве SSH-сервера. Однако Dropbear не предоставляет SFTP-сервер, который мне нужен. Поэтому я переключился с Dropbear на OpenSSH (построил его из стандартных источников Poky и установил его через opkg).Dropbear -> Openssh: Почему он запрашивает пароль сейчас?

Однако, с тех пор я не могу больше войти в систему через SSH, потому что сервер запрашивает пароль, который я не знаю. Единственный пользователь - root, и он не настроен на пароли (это все еще так, потому что я могу без проблем работать локально через RS232). Почему OpenSSH запрашивает пароль? Как я могу удалить это?

Я подумал, что, может быть, есть ключевая фраза в одном из закрытых ключей в /etc/ssh:

/etc/ssh/ssh_host_dsa_key 
/etc/ssh/ssh_host_ecdsa_key 
/etc/ssh/ssh_host_ed25519_key 
/etc/ssh/ssh_host_rsa_key 

Так что я сделал ssh-keygen -p -f /etc/ssh/ssh_host_rsa_key соответственно для каждого из них, но это не помогло.

Это основные части файла sshd_config:

# grep '^[^#]' /etc/ssh/sshd_config 
Protocol 2 
PermitRootLogin yes 
AuthorizedKeysFile .ssh/authorized_keys 
UsePrivilegeSeparation sandbox # Default for new installations. 
Compression no 
ClientAliveInterval 15 
ClientAliveCountMax 4 
Subsystem  sftp /usr/lib/openssh/sftp-server 

Любые идеи?

ответ

2

Вы уверены, что имеете debug-tweaks в своих IMAGE_FEATURES или EXTRA_IMAGE_FEATURES?

Если да, то ROOTFS_POSTPROCESS_COMMAND должен включать ssh_allow_empty_password(); который в свою очередь должен установить PermitEmptyPasswords yes в /etc/ssh/sshd_config и /etc/ssh/sshd_config_readonly. Это должно позволить вам использовать пустые пароли с OpenSSH.

+0

Да, у меня есть 'EXTRA_IMAGE_FEATURES =" debug-tweaks "' в моем conf/local.conf. Но что-то еще могло пойти не так с установкой, потому что 'PermitEmptyPasswords yes' не был установлен. Я установил его вручную в обоих конфигурационных файлах, и теперь он работает. Большое спасибо! –

+0

Хорошо, хорошо! Не могли бы вы заставить заново сформировать свое изображение, запустив 'bitbake -C rootfs ' и проверить, работает ли он тогда? Если он все еще не работает, происходит что-то странное. – Anders

+0

Ну, дело в том, что OpenSSH не является частью базового образа, и, следовательно, он также не включен в rootfs. Мне нужно это только для целей разработки (потому что мне временно нужен SFTP), поэтому я просто построил его как отдельный пакет ipk с bitbake и установил его с opkg. –

1

Если у вас есть «debug-tweaks» в вашем EXTRA_IMAGE_FEATURES, тогда пароль будет пустым: это может быть нормально для изображений разработки.

Если вы хотите иметь некоторую безопасность вместо этого, вы можете добавить рецепт, который устанавливает открытый ключ /root/.ssh/authorized_keys или используют extrausers класс в рецепте изображения или локальной конфигурации для установки пароля ,

+0

Да, у меня есть 'debug-tweaks'. Это только этап развития, поэтому никакой безопасности не требуется (или не хочет). Тем не менее, я не понимаю, почему 'ssh' запрашивает у меня пароль. И что это за пароль ... –

+0

Я рекомендую иметь некоторый уровень безопасности прямо перед собой. Если это испечено с самого начала, у вас не будет отверстия, которое вы должны подключить, прежде чем продукт будет отправлен. –