Mar 7 2010

Android, PC RC i uruchamianie programow na X’ach przez SSH

Czasem z powodu /lenia/, nie chce mi sie wstac z kanapy i wlaczyc programik na MC w tradycyjny sposob, a klawiatura i mysz bezprzewodowa jest za daleko ;) , wiec zaczalem szukac innej mozliwosci, az w koncu doszedlem do nastepujacego wniosku… zdalne sterowanie komputerem z Androida jest w tych warunkach najbardziej optymalne. Jakis czas temu poruszalem temat PC Remote Control, ale do tego potrzeba uruchomionego programiku na sterowanym komputerze. Wiec dzisiaj zajmieny sie zdalnym uruchomieniem programu wymaganego do zdalnego sterowania komputerem :) .

Na poczatek przygotujemy kanal zdalnego uruchamiania programow przez SSH.

1. Instalujemy serwer SSH na komputerze – Polaczenie ssh w Ubuntu.

2. Instalujemy ConnectBot na smartphonie z Androidem

Logujemy sie na zdalny komputer

Testujemy uruchamianie programow na X’ach z ConnectBot’a

czlowiek@zdalny:~$ export DISPLAY=:0.0
czlowiek@zdalny:~$ sudo -u czlowiek gedit

Po tym na ekranie PC powinien otworzyc sie GEdit.

Dobrze, jak mozemy juz uruchamiac programy na desktopie przy pomocy SSH, przejdzmy do zdalnego sterowania.

3. Pobieramy RemoteDroid Server, ktory umozliwi zdalne sterowanie a dokladnie odbierze z Androida sygnalowki myszy i klawiatury, co na poczatek wystarcza w zupelnosci.

Dzis najnowsza dostepna wersja jest RemoteDroid Server 1.4

czlowiek@maszyna:~$ mkdir -p ~/Programy/RDS && cd ~/Programy/RDS
czlowiek@maszyna:~/Programy/RDS$ wget http://www.remotedroid.net/RemoteDroidServer_v1.4.zip && unzip RemoteDroidServer_v1.4.zip

4. Zdalnie z Androida za pomoca ConnectBot’a uruchamiamy RDS

czlowiek@zdalny:~$ export DISPLAY=:0.0
czlowiek@zdalny:~$ java -jar ~/Programy/RDS/RemoteDroidServer/RemoteDroidServer.jar
Linux

Super, jeszcze tylko jedem maly szczegol.

4. Instalujemy RemoteDroid na Androidzie

Teraz juz nie musisz wstawac z kanapy aby wlaczyc swoj ulubiony programik ;)


Nov 11 2009

gufw, czyli nakladka na nakladke iptables

Moze to smiesznie brzmi, ale tak wlasnie jest, gufw jest graficzna wersja ufw, ktory jest front-end’em iptables. Mowi sie, ze gufw to firewall, a tak naprawde jest jedynie konfiguratorem. Ale do rzeczy…

Instalujemy gufw

czlowiek@maszyna:~$ sudo apt-get install gufw

Uruchamiany

czlowiek@maszyna:~$ sudo gufw

Wyswietli sie takie oto okienko aplikacji

gufw-disabled

Bedzie wylaczony, jezeli wczesniej nie wlaczylismy ufw, ale nie ma sie czym przejmowac poniewaz firewall, czyli iptables jest uruchamiany niezaleznie, podczas podnoszenia systemu, standardowo blokujac wszystko co stara sie wlezc.

Prostym klikiem w checkboxa Wlaczona, bedziemy mogli przejsc do konfiguracji

Otwieramy port dla programu Deluge (torrent)
gufw-deluge

A teraz dla uslugi ssh
gufw-pre-ssh

Proste, a napewno przyjemniejsze dla oka niz ufw
gufw-enabled


Nov 11 2009

Polaczenie ssh w Ubuntu

Na poczatek instalujemy openssh-server na komputerze, z ktorym bedziemy sie laczyc – w moim przypadku 192.168.1.5 (zdalny)

1. Instalujemy serwer ssh

czlowiek@zdalny:~$ sudo apt-get install openssh-server

2. Otwieramy port 22

czlowiek@zdalny:~$ sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT

3. Restartujemy serwer

czlowiek@zdalny:~$ sudo /etc/init.d/ssh restart
 * Restarting OpenBSD Secure Shell server sshd                [ OK ]

4. Teraz mozemy sie juz laczyc

czlowiek@maszyna:~$ ssh czlowiek@192.168.1.5
czlowiek@192.168.1.5's password:
Linux zdalny 2.6.31-15-generic #49-Ubuntu SMP Fri Nov 6 09:52:03 UTC 2009 i686
...
Last login: Wed Nov 11 00:23:31 2009 from 192.168.1.1
czlowiek@zdalny:~$ sudo apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...
czlowiek@zdalny:~$

Gdybysmy chcieli zmienic, naprzyklad port to zapraszam do pliku /etc/ssh/sshd_config.
Jezeli mamy uruchomiona nakladke ufw

czlowiek@zdalny:~$ sudo ufw status
Status: active

to tak otwieramy porty

czlowiek@zdalny:~$ sudo ufw allow 22/tcp

tak zamykamy

czlowiek@zdalny:~$ sudo ufw deny 22/tcp

Oct 6 2009

Kopiowanie plikow za pomoca SSH

Jezeli komputer zdalny nie posiada zadnych udostepnionych uslug poza polaczeniem SSH, mozemy wtedy kopiowac pliki za pomoca scp lub rsync.

Pobieranie plikow

czlowiek@maszyna:~$ scp czlowiek@host:/tmp/archiwum.tar.gz /home/czlowiek/
czlowiek@maszyna:~$ scp -r czlowiek@host:/tmp/katalog_do_pobrania/ /home/czlowiek/
czlowiek@maszyna:~$ rsync -avz --rsh=ssh czlowiek@host:/tmp/archiwum.tar.gz /home/czlowiek/

Wgrywanie plikow

czlowiek@maszyna:~$ scp /home/czlowiek/archiwum.tar.gz czlowiek@host:/tmp/
czlowiek@maszyna:~$ scp -r /home/czlowiek/katalog_do_wyslania czlowiek@host:/tmp/
czlowiek@maszyna:~$ rsync -avz --rsh=ssh /home/czlowiek/archiwum.tar.gz czlowiek@host:/tmp/

Sep 17 2009

Backup plikow

Mamy taki oto przypadek. Jest sobie komputer, brak USB, wolne lacze, brak dodatkowej karty sieciowej, a co najlepsze – brak trybu graficznego, jedyne co mamy to konsola i dzialajacy cdrw. Pozornie, komputer jest nie do uzytku ;) . Jak wiec zrobic kopie zapasowa plikow? Konsola jest najlepszym, najszybszym i niezastapiony narzedziem, jezeli znamy pare komend i wiemy jak ich uzyc.

Tworzenie cd image’a

czlowiek@maszyna:~$ mkisofs -r -o cd_image katalog_do_nagrania/

Oczywiscie, komponujemy odpowiedni obraz plyty, mieszczacy sie na plytce CD, wiec katalog_do_nagrania nie moze zawierac wiecej, niz sie na niej miesci.

Test cd image’a

czlowiek@maszyna:~$ mkdir /mnt/iso
czlowiek@maszyna:~$ mount -o loop cd_image /mnt/iso

W razie problemow z prostym montowaniem, wykonujemy nieco bardziej sparametryzowana komede

czlowiek@maszyna:~$ mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /mnt/iso

Klik, klik, klik, sprawdzamy czy obraz plytki zawiera nasze pliki, jezeli jest wszystko, oraz, wielkosc obrazu jest odpowiednia, odmontowujemy

czlowiek@maszyna:~$ umount /mnt/iso

Wypalamy

czlowiek@maszyna:~$ cdrecord -data cd_image

Teoretycznie cdrecord sam wykryje, gdzie i w jaki sposob nagrac obraz, chyba, ze nie. Wtedy sprawdzamy jakie sa dostepne urzadzenia, parametryzujemy i wypalamy

czlowiek@maszyna:~$ cdrecord -v speed=48 dev=/dev/cdrw -data cd_image

Jezeli komputer nie ma monitora :>? Nie ma wiekszego problemu, komendujemy przez ssh. No i czysta plytka musi byc w napedzie. W komputerze zdalnym :) .