четверг, 8 сентября 2011 г.

Настройка PuTTY для доступа к удаленной машине по SSH


Скачиваем PuTTY, Pageant и PuTTYgen:

Генерировать OpenSSH-ключи мне не нужно, я их получил в процессе настройки mercurial-server-а на Ubuntu, после чего просто скопировал их в Windows.

PuTTY использует иной формат ключей в отличие от OpenSSH, поэтому нам необходимо конвертировать наш приватный ключ в формат PuTTY. Для этого мы воспользуемся PuTTYgen:

1. Conversions >> Import key
2. Save private key

В результате получим файл ключом, который можно использовать с PuTTY и Pagent.

Настраиваем PuTTY:

1. Session >> Вводим hostname или ip-адрес сервера и выбираем SSH протокол.
2. Connections >> Data >> Вводим имя для авто-логина в систему.
3. Connections >> SSH >> Auth >> Private key file for autherization >> Browse >> Выбираем файлик с ключом.
4. Можно сохранить текущую конфигурацию PuTTY в реестр, для этого на вкладке Session есть кнопка Save.
5. Всё, можно кликать Open.

Чтобы получить доступ к ssh из других приложений, необходимо запустить Pagent и выбрать файл с ключиком, который получили от  PuTTYgen.

Ну и собственно ради чего это все затевалось:

C:\Users\Мишка>hg clone ssh://hg@192.168.1.2/lightpack
destination directory: lightpack
requesting all changes
adding changesets
adding manifests
adding file changes
added 620 changesets with 2562 changes to 634 files (+4 heads)
updating to branch default
329 files updated, 0 files merged, 0 files removed, 0 files unresolved

C:\Users\Мишка>

Ubuntu Mercurial Server


brunql@brunql-desktop:~$ sudo apt-get install mercurial-server 
[sudo] password for brunql: 
...
Настраивается пакет mercurial-server (1.0.1-1) ...
brunql@brunql-desktop:~$ ssh-keygen -C brunql@gmail.com
Generating public/private rsa key pair.
Enter file in which to save the key (/home/brunql/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/brunql/.ssh/id_rsa.
Your public key has been saved in /home/brunql/.ssh/id_rsa.pub.
The key fingerprint is:
97:c6:1d:95:f1:d4:09:61:d8:2d:90:6a:ab:2f:9e:b6 brunql@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
|           .=+*o+|
|           o.+.=.|
|          . . . .|
|         + o .   |
|        S * .    |
|         +       |
|        .        |
|       +.        |
|      oE+.       |
+-----------------+
brunql@brunql-desktop:~$ ssh-agent 
SSH_AUTH_SOCK=/tmp/ssh-KMcMgw3965/agent.3965; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3966; export SSH_AGENT_PID;
echo Agent pid 3966;
brunql@brunql-desktop:~$ ssh-add
Enter passphrase for /home/brunql/.ssh/id_rsa: 
Identity added: /home/brunql/.ssh/id_rsa (/home/brunql/.ssh/id_rsa)
brunql@brunql-desktop:~$ ssh-add -L > my-key
brunql@brunql-desktop:~$ sudo cp my-key /etc/mercurial-server/keys/root/brunql
brunql@brunql-desktop:~$ sudo -u hg /usr/share/mercurial-server/refresh-auth 
brunql@brunql-desktop:~$ 
brunql@brunql-desktop:~$ hg init ssh://hg@192.168.1.2/lightpack
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
RSA key fingerprint is 14:df:e8:92:af:3a:56:1f:9a:20:1b:fa:fa:a3:da:05.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.2' (RSA) to the list of known hosts.
brunql@brunql-desktop:~/code/lightpack-old$ hg push ssh://hg@192.168.1.2/lightpack
pushing to ssh://hg@192.168.1.2/lightpack
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 619 changesets with 2561 changes to 633 files (+8 heads)
brunql@brunql-desktop:~/code/lightpack-old$ ls /var/lib/mercurial-server/repos/
hgadmin  lightpack
brunql@brunql-desktop:~/code$ hg clone ssh://hg@192.168.1.2/lightpack
destination directory: lightpack
requesting all changes
adding changesets
adding manifests
adding file changes
added 619 changesets with 2561 changes to 633 files (+8 heads)
updating to branch default
329 files updated, 0 files merged, 0 files removed, 0 files unresolved
brunql@brunql-desktop:~/code$ 


http://ekkescorner.wordpress.com/blog-series/git-mercurial/step-by-step-install-mercurial-server-on-ubuntu/
http://dev.lshift.net/paul/mercurial-server/docbook.html
http://matttrent.com/articles/how-use-ssh-agent-windows-tortoisesvn

понедельник, 5 сентября 2011 г.

Linux command-line interface

sudo lshw
sudo lshw -html > hw.html
sudo lspci
cat /proc/cpuinfo
cat /proc/meminfo
sysinfo
sudo dmidcode

$ file 'libinkview.so'
libinkview.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped


$ readelf -h /bin/bash
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x41f210
  Start of program headers:          64 (bytes into file)
  Start of section headers:          932480 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         9
  Size of section headers:           64 (bytes)
  Number of section headers:         29
  Section header string table index: 28


$ gcc -m32