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
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も使用することができました。
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 :
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) :
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 :
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