遠隔地の複数台RaspberryPiにアクセスする方法について
---------------------------------------------------------------------------
遠隔地の複数台のRaspberryPiのアクセス方法について(現地=>遠隔地) -------------------------------------------------------------------------------- 現地からの調整、修正方法(ssh 及び ftp) ★ アクション方法 ・FTPは遠隔地の1台目を使って2台目に、FTPコマンドを使って送受信する ・コンパイル、実行等は1台目からsshコマンドで接続して行う ・必要なファイル、データ等は1台目にWinSCP等で送っておく ★ 前提条件 ・ssh 及び ftp がインストールされていること ・グローバルIpがわかっていること 接続先のルータにてアドレス変換されていること TCPポート22-25 <--> 192.168.x.xxx TCPポート20-25 または独自のSSHポートを -p xxxxxxで指定する ・2台目のローカルIpがわかっていること(不明でもOK:調べる) ・[WinSCP]はrootで接続する(書き込みしない場合はuserレベルでも良い) -------------------------------------------------------------------------------- 具体的な操作 -------------------------------------------------------------------------------- ------- 1台目に接続しsshにて2台目に接続 @ [TeraTerm]にて1台目のマシン"xxx.xxxxxx.jp"に接続する user:xxxxx p/w:yyyyy (1) 2台目のローカルIPを確認する(私の場合は指定場所に書き込んである) # "cat /ramdisk/local_ip_xxxx"にてローカルIPを確認する 不明の場合は以下の操作で調べる。 # ping 192.168.x.255 -b <= いちどブロードキャストIP宛(xxx.xxx.xxx.255)に ping実行をすれば,稼動中の機器を参照することが可能 WARNING: pinging broadcast address PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data. 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=255 time=1.86 ms 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=64 time=2.83 ms (DUP!) 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=64 time=48.0 ms (DUP!) 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=64 time=48.0 ms (DUP!) 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=64 time=48.0 ms (DUP!) 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=64 time=48.4 ms (DUP!) 64 bytes from 192.168.x.xxx: icmp_req=1 ttl=64 time=48.4 ms (DUP!) # arp -a ? (192.168.x.xxx) at xx:xx:xx:xx:xx:xx [ether] on ethx ? (192.168.x.xxx) at xx:xx:xx:xx:xx:xx [ether] on ethx ? (192.168.x.xxx) at xx:xx:xx:xx:xx:xx [ether] on ethx ? (192.168.x.xxx) at xx:xx:xx:xx:xx:xx [ether] on ethx ? (192.168.x.xxx) at xx:xx:xx:xx:xx:xx [ether] on ethx ? (192.168.x.xxx) at xx:xx:xx:xx:xx:xx [ether] on ethx (2) 2台目のマシンにsshコマンドにて接続する(USER-ID、passwordを入力する) # ssh 192.168.x.xxxx (# shh 192.168.x.xxxx -p yyyy) user:xxxxx p/w:yyyyy Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@pi-xxx:~# (3) ディレクトリに移動する # cd /home/xxxx/yyyy ------- FTP操作の準備で1台目に[WinSCP]で接続する A [WinSCP]にて1台目に接続しておく ------- 新たに1台目に接続しFTPを実行する B 新たに[TeraTerm]を立ち上げ1台目"xxx.xxxxxx.jp"に接続する user:xxxxx p/w:yyyyy (1) # "cd /home/pi (2) # "ftp 192.168.x.xxx" Connected to 192.168.x.xxx. 220 (vsFTPd 2.3.5) Name (192.168.x.xxx:nnnn): nnnn 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ftp>pwd <--- ターゲット(192.168.x.xxx)のpwd実施 ftp>ls -l <--- ターゲット(192.168.x.xxx)のls実施 ftp>!ls -l <--- 自分(192.168.x.yyy)のls実施 ftp>cd ddd <--- ターゲット(192.168.x.xxx)のcd実施 ftp>!cd ddd <--- 自分(192.168.x.yyy)のcd実施 ftp>get camera.dat <--- ファイル"camera.dat"を読み込む ftp>get camera.cpp <--- ファイル"camera.cpp"を読み込む ftp>put camera.dat <--- ファイル"camera.dat"を書き込む ftp>put camera.cpp <--- ファイル"camera.cpp"を書き込む 注意:putにて"553 Could not create file."が出た場合は上記@にてパーミッションの設定を行う (# chmod 775 xxxx) (3) WinSCPにてPCにgetしたファイルを読み込み、秀丸エディタ等で修正する (直接WinSCPに表示しているファイルを秀丸エディタで修正も可) (4) ftp>"put camera.dat" <--- ファイル"camera.dat"を読み込む @の[TeraTerm]にて、ps axコマンド、makeコマンド等を行ってデバッグ等を行う