Drobo

DroboApp HOWTO: openssh 5.8p1

#1

This is a simplified version of this tutorial, updated to the latest version of OpenSSH (as of today), and made into a pre-configured DroboApp.

Compilation summary

Before you start, make sure that your CFLAGS and LDFLAGS are properly set for DroboApp compilation using DroboLibs compilation, like this:

export CFLAGS="-march=armv5te"
export CPPFLAGS="-march=armv5te"
export CXXFLAGS="-march=armv5te"
export LDFLAGS=""

Keep in mind that openSSH requires zlib and openssl.

The following sequence of commands takes you from zero to compiled library. Explanation below.

wget http://mirror.switch.ch/ftp/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz
tar zxf openssh-5.8p1.tar.gz
cd openssh-5.8p1
./configure --host=arm-none-linux-gnueabi --prefix=/mnt/DroboFS/Shares/DroboApps/openssh --with-zlib=/mnt/DroboFS/Shares/DroboApps/zlib --with-ssl-dir=/mnt/DroboFS/Shares/DroboApps/openssl --with-cflags="-O" --disable-strip
make
mkdir -p /mnt/DroboFS/Shares/DroboApps/openssh
make install-nokeys

The ‘configure’ looks way more complicated now. But in fact we are just specifying the location of each one of the dependencies manually, instead of letting pkgconfig deal with it for us. I had to add --with-cflags and --disable-strip to fix some errors that came up during configuration.

Packaging summary

The following sequence of commands takes you from compiled library to droboapp. Explanation and content of files below.

cd /mnt/DroboFS/Shares/DroboApps/openssh
nano README.txt
# copy and paste the content of README.txt from below
nano service.sh
# copy and paste the content of service.sh from below
chmod a+x service.sh
# optionally, remove the docs
#rm -fr share/man
tar czfv ../openssh-5.8p1.tgz *

Content README.txt:

Name: OpenSSH Description: SSH connectivity tools Version: 5.8p1 Requires: zlib openssl

[hr]
EDIT: This is a fixed version of service.sh, which makes sure that /var/empty is created as well, since it is required for privilege separation. Also, as I learned the hard way, it won’t output anything to stdout, otherwise it breaks the FS’s boot sequence. Restarting openssh using this won’t kill your current session (which was a problem with the previous version).

Content service.sh:

[code]#!/bin/sh

openSSH service

. /etc/service.subr

prog_dir=dirname \realpath $0``

name=“openssh” # service name
version=“5.8p1” # program version

pidfile=/var/run/sshd.pid # location of the pid file
logfile=${prog_dir}/sshd.log # location of log file
rsakey=${prog_dir}/etc/ssh_host_rsa_key # location of rsa key
dsakey=${prog_dir}/etc/ssh_host_dsa_key # location of dsa key
ecdsakey=${prog_dir}/etc/ssh_host_ecdsa_key # location of ecdsa key
sshd_user=sshd
sshd_group=sshd

start()
{

make sure /dev/null is non-root writeable

chmod a+rw /dev/null

make sure /var/empty is properly setup for privilege separation

mkdir -p /var/empty
chmod 755 /var/empty

make sure that we have the sshd user for privilege separation

id ${sshd_user} > /dev/null 2>&1
if [ 0 -ne $? ]; then
adduser -S -D -H -h “/var/empty” -s “/bin/false” ${sshd_user}
fi

make sure sshd owns the log file

chown ${sshd_user}.${sshd_group} ${logfile}

make sure that the RSA key exists

if [ ! -f $rsakey ]; then
${prog_dir}/bin/ssh-keygen -t rsa -f ${rsakey} -N “”
fi

make sure that the DSA key exists

if [ ! -f $dsakey ]; then
${prog_dir}/bin/ssh-keygen -t dsa -f ${dsakey} -N “”
fi

make sure the ECDSA key exists

if [ ! -f $ecdsakey ]; then
${prog_dir}/bin/ssh-keygen -t ecdsa -f ${ecdsakey} -N “”
fi

add sshd to the path

which sshd > /dev/null 2>&1
if [ 0 -ne $? ]; then
export PATH=$PATH:${prog_dir}/sbin
fi

add ssh/scp/sftp to the path

which slogin > /dev/null 2>&1
if [ 0 -ne $? ]; then
export PATH=$PATH:${prog_dir}/bin
fi

${prog_dir}/sbin/sshd -e > ${logfile} 2>&1
}

case “$1” in
start)
start_service
;;
stop)
/sbin/start-stop-daemon -K -p ${pidfile}
;;
restart)
/sbin/start-stop-daemon -K -p ${pidfile}
sleep 3
start_service
;;
status)
status
;;
*)
echo “Usage: $0 [start|stop|restart|status]”
exit 1
;;
esac
[/code]

This service.sh guarantees that:

  1. Fixes /dev/null permission
  2. Creates and fixes permissions of /var/empty
  3. Creates (if necessary) the ‘sshd’ system account
  4. Generates (if necessary) all encryption keys
  5. Fixes the PATH
    [hr]

With this droboapp, I’m able to SSH, SCP, SFTP and tunnel without a problem.

The droboapp is preconfigured to run on port 22, so you might want to disable/remove dropbear or change the configuration file in openssh-5.8p1/etc/sshd_config to test it.

[hr]
EDIT: I decided to try and make the OpenSSH DroboApp a single, all-dependencies included file. The procedure is pretty much the same, but you have to start from scratch and do all the dependencies in one pass. Here is the complete sequence of steps that takes you from source to compiled DroboApp:

[code]
export DEST="/mnt/DroboFS/Shares/DroboApps/openssh-5.8p1"

wget http://zlib.net/zlib-1.2.5.tar.gz
tar zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure --prefix=$DEST
make
make install

wget http://www.openssl.org/source/openssl-1.0.0c.tar.gz
tar zxf openssl-1.0.0c.tar.gz
cd openssl-1.0.0c
./Configure linux-generic32 -DL_ENDIAN --prefix=$DEST
make
make install

wget http://mirror.switch.ch/ftp/pub/OpenBSD/OpenSSH/portable/openssh-5.8p1.tar.gz
tar zxf openssh-5.8p1.tar.gz
cd openssh-5.8p1
./configure --host=arm-none-linux-gnueabi --prefix=$DEST --with-zlib=$DEST --with-ssl-dir=$DEST --with-cflags="-O" --disable-strip
make
make install-nokeys
cd $DEST
; create README.txt and service.sh as indicated above
tar czfv …/openssh-5.8p1.tgz *[/code]

I have adjusted the information below to reflect this new version.
[hr]

Installation summary

Recommended: If you have the DroboAdmin installed, and your FS is called ‘drobo-fs’, do this:
(Note: You can also adapt the URLs to match your Drobo’s name or IP address)
[list=1]
[]Disable dropbear here.
[
]Click here to install openssh.
[/list]

If you do not have DroboAdmin, but do not want to use SSH, then do this:
[list=1]
[]Download the OpenSSH DroboApp, and place it in the DroboApps share.
[
]Remove the ‘dropbear’ folder (if it is present)
[*]Restart the DroboFS. OpenSSH is now available.
[/list]

If you want to use SSH, then SSH into the DroboFS, then type the following sequence of commands:

cd /mnt/DroboFS/Shares/DroboApps
wget http://commondatastorage.googleapis.com/drobofs/openssh-5.8p1.tgz
; make sure that what has been downloaded has been named openssh-5.8p1.tgz
dropbear/service.sh stop; DroboApps.sh install

If all goes well, dropbear is gone and next time you SSH into the FS you’ll get a fancy warning that the server fingerprint has changed.

#2

Thanks for this!

I tried installing this, and it doesn’t seem to be working.

I deleted the dropbear folder, put in the archive, and restarted the Drobo FS, but when I try and ssh in, it says connection refused. It looks like it installed okay, the archive is gone and the directory was extracted.

Any idea whats wrong?

Also how would I configure username/password settings? What is the default username and password?

#3

The first time it is started it may take a while to actually be accessible, since it has to generate the secret keys. Have you tried again after a while?

#4

Haha, yeah its been like 24 hours since I’ve installed it and it still isn’t working.

EDIT: So I tried installing via the DroboApp Manager. Still no luck.

EDIT2: I tried installing via dropbear, and installation seems to have worked fine. It generated the keys and everything, but I still can’t connect. I have no idea why it isn’t working.

Back when I first installed dropbear, I ran the included script that changed the root password for dropbear, which stays even if I uninstall/reinstall dropbear. Could that have messed something up, that is making openssh not work?

Other than that I have no ideas.

#5

Let’s go back to the basics:
[list=1]
[]Is there a folder openssh-5.8p1 in DroboApps? Does this folder contain anything? If not, the installation is somehow corrupt.
[
]Do you have dropbear and openssh installed at the same time? If so, one will prevent the other from running, since they use the same port. You can change the openssh config to pick another port, and run them side-by-side.
[/list]
To change the port of openssh, edit the file openssh-5.8p1/etc/sshd_config, and search for this line:

#Port 22

and change it to this

If you have dropbear access, login and type:

If the files are correctly in place, you should be able to ssh into it by using something like:

ssh -p 2222 root@<drobo.fs.ip.address>
#6

I have dropbear installed but I disable it when I try and run openssh.

Interesting, when I try and restart openssh I get this error:

# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh restart
/mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh: line 77: start-stop-daemon: not found

The openssh folder is there and it is full of files and folders.

#7

So I looked up at Ricardo’s service.sh, and it’s missing the definition for “start-stop-daemon” which is specified as the function to start/restart ssh. Also not specified in /etc/service.subr, so I can only assume Ricardo had some idea to include more functions? Or perhaps that is supposed to be an actual file in the path? Well, Ricardo specified a start() function but never used it… so I can only assume this service.sh script is half-baked? Since there is no magic $pidfile var specified, something will have to kill openssh manually.

maybe this?

s stop() { for P in `ps -we | grep sshd | awk '{print $1}'` ; do kill $P ; done }

Putting it all together:

#!/bin/sh
#
# openSSH service

. /etc/service.subr

prog_dir=`dirname \`realpath $0\``

name="openssh"                          # service name
version="5.8p1"                         # program version

logfile=${prog_dir}/sshd.log            # location of log file
rsakey=${prog_dir}/etc/ssh_host_rsa_key # location of rsa key
dsakey=${prog_dir}/etc/ssh_host_dsa_key # location of dsa key
ecdsakey=${prog_dir}/etc/ssh_host_ecdsa_key # location of ecdsa key

start()
{
  # make sure /dev/null is non-root writeable
  chmod a+rw /dev/null

  # make sure that we have the sshd user for privilege separation
  id sshd || adduser -S -D -H -s "/bin/false" sshd

  # make sure that the keYS exists
  [ -f $rsakey ]   || ${prog_dir}/bin/ssh-keygen -t rsa   -f ${rsakey}   -N ""
  [ -f $dsakey ]   || ${prog_dir}/bin/ssh-keygen -t dsa   -f ${dsakey}   -N ""
  [ -f $ecdsakey ] || ${prog_dir}/bin/ssh-keygen -t ecdsa -f ${ecdsakey} -N ""
  
  # add sshd to the path
  which sshd   || export PATH="$PATH:${prog_dir}/sbin"
  which slogin || export PATH=$PATH:${prog_dir}/bin
  
  # ROCK AND ROLL
  ${prog_dir}/sbin/sshd -e > ${logfile} 2>&1
}


stop() {
for P in `ps -we | grep sshd | awk '{print $1}'` ; do kill $P ; done
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    #start-stop-daemon -K -n sshd
    ;;
  restart)
    stop
    #start-stop-daemon -K -n sshd
    sleep 3
    start
    ;;
  status)
    status
    ;;
  *)
    echo "Usage: $0 [start|stop|restart|status]"
    exit 1
    ;;
esac
#8

start-stop-daemon is a cmd in /sbin

so… implies /sbin is not in the path.

#9

/slaps forehead

Damn. That is most definitely it. I have cross-compiled bash, which probably adds /sbin for me automatically. I fixed service.sh to include the full path of start-stop-daemon.

New version replaces the old at the same address: http://commondatastorage.googleapis.com/drobofs/openssh-5.8p1.tgz

#10

I installed the new version but I still can’t seem to start it…


# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh start  
uid=1(sshd) gid=1(sshd) groups=1(sshd)
# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status 
openssh is enabled and stopped

I try and start it but it stays stopped.

#11

But is it actually running? I.e., can you please check the output of “ps w”?

[hr]

Ugh. I found another two bugs on service.sh. I forgot to declare the location of the PID file, thus causing the “stopped” part.

Also, the ownership of the log file was not properly defined, so sshd was not able to write to the log file.

Fixed file at the same download location as before (http://commondatastorage.googleapis.com/drobofs/openssh-5.8p1.tgz).

#12

# ps w
  PID USER       VSZ STAT COMMAND
    1 root      3032 S    init       
    2 root         0 SW<  [kthreadd]
    3 root         0 SWN  [ksoftirqd/0]
    4 root         0 SW<  [watchdog/0]
    5 root         0 SW<  [events/0]
    6 root         0 SW<  [khelper]
   28 root         0 SW<  [kblockd/0]
   43 root         0 SW   [pdflush]
   44 root         0 SW   [pdflush]
   45 root         0 SW<  [kswapd0]
   46 root         0 SW<  [aio/0]
   47 root         0 SW   [crypto]
   48 root         0 SW   [crypto_ret]
  180 root         0 SW<  [dri_dnas_thread]
  183 root         0 SW<  [mtdblockd]
  184 root         0 SW<  [nftld]
  195 root         0 SWN  [jffs2_gcd_mtd1]
  203 root         0 SWN  [jffs2_gcd_mtd2]
  238 root      3032 S    udhcpc -s /etc/udhcpc.sh -b 
  242 root      2004 S    /bin/ntpclient -l -h pool.ntp.org 
  245 root      1584 S    /sbin/netplugd -P 
  254 root      3036 S    /bin/sh /usr/bin/nasdLogRotate 
  256 root     11600 S    /usr/bin/nasd 
  257 root      3036 S    -/bin/sh 
  272 root         0 SW<  [dri_shared_res_]
  273 root         0 SW<  [dri_scsi_resp_2]
  274 root         0 SW<  [dri_scsi_req_3]
  276 root         0 SW<  [scsi_eh_0]
  296 root         0 SW<  [kjournald]
  325 root      5420 S    /sbin/nmbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  327 root     10004 S    /sbin/smbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  328 root     10004 S    /sbin/smbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  340 avahi     2688 S    avahi-daemon: running [Drobo-FS.local]                                   
  342 root      2580 S    /sbin/cnid_metad 
  344 root      5872 S    /sbin/afpd -F /mnt/DroboFS/System/netatalk/conf/afpd.conf -P /mnt/DroboFS/System/netatalk/security/afpd.pi
  393 root     11196 S    /mnt/DroboFS/Shares/DroboApps/apache/httpd -f /mnt/DroboFS/Shares/DroboApps/apache/conf/httpd.conf 
  481 root     11328 S    /mnt/DroboFS/Shares/DroboApps/apache/httpd -f /mnt/DroboFS/Shares/DroboApps/apache/conf/httpd.conf 
  504 root     11328 S    /mnt/DroboFS/Shares/DroboApps/apache/httpd -f /mnt/DroboFS/Shares/DroboApps/apache/conf/httpd.conf 
  797 root     41564 S    /mnt/DroboFS/Shares/DroboApps/transmission/transmission-daemon -g /mnt/DroboFS/Shares/DroboApps/transmissi
10632 root      2020 S    /sbin/dropbear -E -P /mnt/DroboFS/Shares/DroboApps/dropbear/dropbear.pid -r /mnt/DroboFS/Shares/DroboApps/
11425 root      2500 S    /sbin/dropbear -E -P /mnt/DroboFS/Shares/DroboApps/dropbear/dropbear.pid -r /mnt/DroboFS/Shares/DroboApps/
11427 root      2900 S    sleep 30 
11428 root      3036 S    -sh 
11429 root      3036 R    ps w 

Not running :confused:

#13

Thanks for your patience. I have fixed a couple more things in service.sh, and a new version is online at the same address.

Could you please give this one a try? I finally upgraded my FS to firmware 1.1.1 and found myself in a situation where openssh would also not start. I think that the fixes I added now should make it work, since I managed to get myself back in. :slight_smile:

#14

I’ve been following along and experiencing the same problems. Your most recent update appears to fixed my previous issues and I am now able to login. Thanks!

#15

Haha, still won’t start for me. I appreciate your help!

# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status
openssh is enabled and stopped
# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh start
# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status
openssh is enabled and stopped
# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh restart
no sshd found; none killed
/mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status
# /mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status
openssh is enabled and stopped
# ps w
  PID USER       VSZ STAT COMMAND
    1 root      3032 S    init       
    2 root         0 SW<  [kthreadd]
    3 root         0 SWN  [ksoftirqd/0]
    4 root         0 SW<  [watchdog/0]
    5 root         0 SW<  [events/0]
    6 root         0 SW<  [khelper]
   28 root         0 SW<  [kblockd/0]
   43 root         0 SW   [pdflush]
   44 root         0 SW   [pdflush]
   45 root         0 SW<  [kswapd0]
   46 root         0 SW<  [aio/0]
   47 root         0 SW   [crypto]
   48 root         0 SW   [crypto_ret]
  180 root         0 SW<  [dri_dnas_thread]
  183 root         0 SW<  [mtdblockd]
  184 root         0 SW<  [nftld]
  195 root         0 SWN  [jffs2_gcd_mtd1]
  203 root         0 SWN  [jffs2_gcd_mtd2]
  239 root      3032 S    udhcpc -s /etc/udhcpc.sh -b 
  243 root      2004 S    /bin/ntpclient -l -h pool.ntp.org 
  246 root      1584 S    /sbin/netplugd -P 
  255 root      3036 S    /bin/sh /usr/bin/nasdLogRotate 
  257 root     10128 S    /usr/bin/nasd 
  258 root      3036 S    -/bin/sh 
  273 root         0 SW<  [dri_shared_res_]
  274 root         0 SW<  [dri_scsi_resp_2]
  275 root         0 SW<  [dri_scsi_req_3]
  277 root         0 SW<  [scsi_eh_0]
  297 root         0 SW<  [kjournald]
  326 root      5420 S    /sbin/nmbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  328 root     10004 S    /sbin/smbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  329 root     10004 S    /sbin/smbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  341 avahi     2688 S    avahi-daemon: running [Drobo-FS.local]                                   
  343 root      2580 S    /sbin/cnid_metad 
  345 root      5872 S    /sbin/afpd -F /mnt/DroboFS/System/netatalk/conf/afpd.conf -P /mnt/DroboFS/System/netatalk/security/afpd.pi
  367 root     29764 S    /mnt/DroboFS/Shares/DroboApps/transmission/transmission-daemon -g /mnt/DroboFS/Shares/DroboApps/transmissi
  461 root     11196 S    /mnt/DroboFS/Shares/DroboApps/apache/httpd -f /mnt/DroboFS/Shares/DroboApps/apache/conf/httpd.conf 
  484 root     11328 S    /mnt/DroboFS/Shares/DroboApps/apache/httpd -f /mnt/DroboFS/Shares/DroboApps/apache/conf/httpd.conf 
  495 root     10196 S    /sbin/smbd -s /mnt/DroboFS/System/samba/conf/smb.conf 
  504 root     11328 S    /mnt/DroboFS/Shares/DroboApps/apache/httpd -f /mnt/DroboFS/Shares/DroboApps/apache/conf/httpd.conf 
  814 root      2020 S    /sbin/dropbear -E -P /mnt/DroboFS/Shares/DroboApps/dropbear/dropbear.pid -r /mnt/DroboFS/Shares/DroboApps/
  822 root      2500 S    /sbin/dropbear -E -P /mnt/DroboFS/Shares/DroboApps/dropbear/dropbear.pid -r /mnt/DroboFS/Shares/DroboApps/
  823 root      3036 S    -sh 
  887 root      2900 S    sleep 30 
  902 root      3036 R    ps w 
#16

I’m stumped. Short of telling you to remove openssh completely, restarting from scratch, and not forgetting to set a different port on etc/sshd_config, I have no idea what could be wrong with your setup.

Can you please post /var/log/nasd.log and sshd.log (in the openssh folder)? Be careful to remove any personal info from nasd.log (the serial number of your Drobo is there, if I remember correctly).

#17

I was having the same problem and sshd.log showed that /var/empty had missing privilege… I checked and the directory didn’t exist so I created it and started the service.

#18

Thanks Ramorous! I have updated service.sh to check for the existence and privileges of /var/empty.

This is what it looks like now:

[code]#!/bin/sh

openSSH service

. /etc/service.subr

prog_dir=dirname \realpath $0``

name=“openssh” # service name
version=“5.8p1” # program version

pidfile=/var/run/sshd.pid # location of the pid file
logfile=${prog_dir}/sshd.log # location of log file
rsakey=${prog_dir}/etc/ssh_host_rsa_key # location of rsa key
dsakey=${prog_dir}/etc/ssh_host_dsa_key # location of dsa key
ecdsakey=${prog_dir}/etc/ssh_host_ecdsa_key # location of ecdsa key
sshd_user=sshd
sshd_group=sshd

start()
{

make sure /dev/null is non-root writeable

chmod a+rw /dev/null

make sure /var/empty is properly setup for privilege separation

mkdir -f /var/empty
chmod 755 /var/empty

make sure that we have the sshd user for privilege separation

id ${sshd_user} > /dev/null 2>&1
if [ 0 -ne $? ]; then
adduser -S -D -H -h “/var/empty” -s “/bin/false” ${sshd_user}
fi

make sure sshd owns the log file

chown ${sshd_user}.${sshd_group} ${logfile}

make sure that the RSA key exists

if [ ! -f $rsakey ]; then
${prog_dir}/bin/ssh-keygen -t rsa -f ${rsakey} -N “”
fi

make sure that the DSA key exists

if [ ! -f $dsakey ]; then
${prog_dir}/bin/ssh-keygen -t dsa -f ${dsakey} -N “”
fi

make sure the ECDSA key exists

if [ ! -f $ecdsakey ]; then
${prog_dir}/bin/ssh-keygen -t ecdsa -f ${ecdsakey} -N “”
fi

add sshd to the path

if ! which sshd; then
export PATH=$PATH:${prog_dir}/sbin
fi

add ssh/scp/sftp to the path

if ! which slogin; then
export PATH=$PATH:${prog_dir}/bin
fi

${prog_dir}/sbin/sshd -e > ${logfile} 2>&1
}

case “$1” in
start)
start_service
;;
stop)
#stop_service
/sbin/start-stop-daemon -K -n sshd
;;
restart)
#stop_service
/sbin/start-stop-daemon -K -n sshd
sleep 3
start_service
;;
status)
status
;;
*)
echo “Usage: $0 [start|stop|restart|status]”
exit 1
;;
esac
[/code]

@leetlamer: maybe this time we finally get this working? Try again from http://commondatastorage.googleapis.com/drobofs/openssh-5.8p1.tgz

Cheers,
Ricardo

#19

Strange. Now I’m getting file not found. Its acting strange.

# cd ~
# ls
Shares    System    home      swapfile
# mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status
-sh: mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh: not found

Strange, that never happened to me before. The file totally exists, and I noticed that when I cd to the root directory, and I run the command it works. But shouldn’t it not matter, since you specify an absolute path, so it would work no matter where the current directory is? Well, it seems to behave differently than before, but I’m a unix noob.

Also I get a pretty strange error:

# mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status
openssh is enabled and stopped
# mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh start 
mkdir: invalid option -- f
BusyBox v1.14.2 (2009-07-29 17:47:47 PDT) multi-call binary

Usage: mkdir [OPTION] DIRECTORY...

Create DIRECTORY

Options:
	-m	Set permission mode (as in chmod), not rwxrwxrwx - umask
	-p	No error if existing, make parent directories as needed

chmod: /var/empty: No such file or directory

Also, I tried manually creating /var/empty since it didn’t exist, and I tried to chmod a+rwx but I got no such file or directory.

#20

You missed the “/” before “mnt”. In other words, you should have typed “/mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status” instead of “mnt/DroboFS/Shares/DroboApps/openssh-5.8p1/service.sh status”. If you do not type the “/” at the beginning, the command line think you are talking about a path starting where you are right now, instead of an absolute path.

Yeah… about that. My bad, busybox has a different syntax than traditional linux. It should have been a -p instead.

Maybe the lacking of a starting “/”?

Anyway, as usual new version at the same url.