目次

LinkStation LS210D

BUFFALO社のネットワーク対応HDD(NAS) 3TB LS210D0301CにSSHでログインするための手順です。

対象となる機器はLinkStation LS210D0301Cになります。

uname -a
Linux LS210D 3.3.4 #1 Thu Jul 26 21:06:52 JST 2018 armv7l GNU/Linux
 
cat /etc/os-release
NAME=Buildroot
VERSION=2012.08-01730-g8cf8503
ID=buildroot
VERSION_ID=2012.08
PRETTY_NAME="Buildroot 2012.08"
 
cat /etc/linkstation_release
VERSION=1.70
SUBVERSION=HDD 0.01
PRODUCTID=0x00003011
BUILDDATE=2018/07/26 22:01:54

ACP_Commanderのダウンロード

LinkStationのadminユーザーでlinuxコマンドを発行できるjavaツールacp_commander.jarでLinkStationを操作します。

元々の開発元nas-central.orgは執筆時点(2024/08/09)では運用を停止していますので、https://github.com/Stonie/acp-commanderからacp_commander.jarを任意のフォルダ(例: D:¥Tools)にダウンロードします。

また、GUIツールのACP Commander GUIも使用することができました。

SSHサーバーの起動

LinkStation LS210Dは組み込み用Linuxで動作しており、SSHサーバーが組み込まれていますが、起動していません。

PowerShellまたはコマンドプロンプトからacp_commander.jarを使用し、SSHサーバーを起動させます。
なお、acp_commander.jarはjavaツールですのでjavaの実行環境が必要です。

cd D:¥Tools
java -jar acp_commander.jar -t $IP -ip $IP -pw $ADMINPW -c "/etc/init.d/S50sshd start"
ACP_commander out of the nas-central.org (linkstationwiki.net) project.
Used to send ACP-commands to Buffalo linkstation(R) LS-PRO.
   :
>/etc/init.d/S50sshd start
Starting sshd: OK
   :

2行目、9行目
$IPはLS210DのIPアドレスです
$ADMINPWはLS210Dの管理ユーザーのログインパスワードです

LinkStation LS210DLS-210Dが再起動してもSSHサーバーを起動させるため下記の設定も行います。

java -jar acp_commander.jar -t $IP -ip $IP -pw $ADMINPW -c "sed 's|^\(/usr/local/sbin/sshd\)$|#\1\n/usr/sbin/sshd|' -i /etc/init.d/rcS"
ACP_commander out of the nas-central.org (linkstationwiki.net) project.
Used to send ACP-commands to Buffalo linkstation(R) LS-PRO.
   :
>sed 's|^\(/usr/local/sbin/sshd\)$|#\1\n/usr/sbin/sshd|' -i /etc/init.d/rcS
OK (ACP_STATE_OK)
   :

rootユーザーでのSSHログイン

LinkStation LS210の既定の状態ではパスワードなしユーザーのSSHログインは無効になっています。
rootユーザーのパスワードを設定します。

cd D:¥Tools
java -jar acp_commander.jar -t $IP -ip $IP -pw $ADMINPW -c "(echo $ROOTPW ; echo $ROOTPW) | passwd"
ACP_commander out of the nas-central.org (linkstationwiki.net) project.
Used to send ACP-commands to Buffalo linkstation(R) LS-PRO.
   :
>(echo $ROOTPW ; echo $ROOTPW) | passwd
   :

2行目
$IPはLS210DのIPアドレスです
$ADMINPWはLS210Dの管理ユーザーのログインパスワードです
$ROOTPWは設定するrootユーザーのログインパスワードです


rootユーザーのパスワードが設定されると、LS210DにSSHでrootユーザーでログインすることができます。

鍵認証方式によるSSHログイン

LS210Dは各一般ユーザーのホームディレクトリが同じ場所(/home)になっています。
それぞれ別の場所に変更してもいいのですが、Web設定との整合性が取れなくなるのも嫌ですので、SSHログインはrootユーザーのみにしておきます。

rootユーザーでのSSHログインを許可したままでパスワード認証だとセキュリティ的にリスクがあるため、鍵認証方式に変更してパスワード認証を無効にします。

事前にログインに使用するWindowsで鍵セットを生成しておきます。
鍵ペアの生成(Windows10)を参照してください。
なお、LS210DのOSが古い(2012.08)ため、セキュリティ強度の強いed25519鍵は使用できませんので、521bitのECDSA鍵を作成してください。

rootユーザーでSSHログインします。

mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys 
 
 ...(scpやsftpを使用して公開鍵をLS210Dの.sshに転送します)...
  
cat id_ecdsa.pub >> authorized_keys
#
# パスワード認証を無効にします
#
vi /etc/sshd_config
   :
#PasswordAuthentication yes                                                   
PasswordAuthentication no 
   :
#
# SSHサーバーを再起動します
#
/etc/init.d/S50sshd restart