Arch Linuxでsshサーバーを作ってその中に保存した音楽を手元のvlcメディアプレイヤーで聞く
ども。BobbyQuineです。ここまで試験間隔あくともう試験そのものをブッチしそうで怖いですね。実は昨日、未だにUbuntu15.10だったデスクトップPCにArch Linuxをインストールし直しました。でも正直私、デスクトップって使わないんですよね。前回Ubuntu15.10が入ってたときもデータ保管場所代わりでしかなかったしw。でもせっかくOS新しくしたんだからなんかやりたいってことでsshでリモートログインできるようにして、ついでにデータ保管場所なんだから音楽入れて手元で聞けるようにしたいなー。ってなわけで今回はsshのお話。
この記事を真似することで出たいかなる被害についても当方は責任を取りません。自己責任で。
そもそもsshって何よ
セキュアシェル(Secure Shell)のこと。リモートコンピュータと暗号化・認証つかって安全に通信するためのプロトコル(Wikipedia君に聞いた)。まぁ詳しいことはググって。
デスクトップPC(リモート側)の設定
まず、opensshをインストールする。
$ sudo pacman -S openssh
で、ついでにnet-toolsをインストール。これは昔Raspberry Pi使ってたときの名残でifconfigコマンドが使いたいから。
$ sudo pacman -S net-tools
で、ホントはrootにリモートログインできなくしたり、IPアドレス固定したりってやるんだけど、そもそもrootアカウントは前書いたようにロックしちゃってるので無用な心配だし、固定IPにしようとしても無線ルーターの管理者が私ではないのでむりぽ、ってことで(ry。ではとりあえず現在のデスクトップ側のローカルIPアドレスを知るために
$ ifconfig
ってやって、仮に192.168.1.25であるとします。
$ systemctl start sshd.service
でsshdをスタートさせる。これでリモートログインができるようになった。OFFにするには " start " を " stop " に置き換えればいいだけ。
自動起動にもできるけど我が家では夜になると無線ルーターの電源が落ちたりなんだり面倒なので割愛。
クライアント(手元のLaptop)の設定
まずopenssh、あと今回はvlcを使うので
で、しゅーりょー!!。リモート側(デスクトップ側)の有効なユーザー名をUser1とし、さっきも書いたとおりデスクトップ側のローカルIPアドレスが192.168.1.25だったとすると
$ ssh User1@192.168.1.25
でデスクトップにリモートログインできるはず。
vlcを使い、sshサーバーにある音楽ファイルをssh経由でローカルPCから流す
まず、先程同様リモートPCのユーザー名をUser1、IPアドレスを192.168.1.25とする。また、再生したいファイルが " /home/User1/Video/hello.mp4 " だったとするとローカルPCで
$ ssh User1@192.168.1.25 "cat /home/User1/Video/hello.mp4" | vlc -
でできる。このときterminal上でリモート側のパスワードが求められる。また、Videoディレクトリ下に複数のmp4ファイルが存在し、これを連続再生したいときは
$ ssh User1@192.168.1.25 "cat /home/User1/Video/*.mp4" | vlc -
でできる。そしてsshコマンド部にオプションで-Cを設定することで圧縮が行われ、通信速度が早くなるので見やすくなるなどがあるが、私の環境の場合、あまりにもリモート側の性能が低すぎて逆に再生に支障をきたしたw。
ちなみに早送りなんかは使えないので、完全にBGM用ですね。
以上。