遠隔地の複数台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コマンド等を行ってデバッグ等を行う