Сдается мне, что пароль не экранируется где-то в шелл-скрипте, в результате чего robot$r2d2 трактуется как "robot<значение переменной r2d2>" т.е. просто "robot".
К сожалению, как конкретно реализована передача оного пароля в OpenBSD, я не знаю.
Можно попробовать поставить \ перед $, но не факт, что это сработает.