ssh.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Thu, 18 Aug 2011 23:06:54 +0300
changeset 947 1c8a139fc25d
parent 867 0ad8febf7458
permissions -rw-r--r--
Release build version data.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
371
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
-*- mode: outline; coding: utf-8 -*-
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
* Maintaining key pair.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  $ ssh-keygen -t dsa     # for DSA
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
  $ ssh-keygen -t rsa     # for RSA
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
  $ ssh-keygen -t dsa -C comment     # put own comment instead user@host
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
  $ ssh-keygen -t dsa -f my_dsa_key  # store priv key under my_dsa_key
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
                                     # and pub key under my_dsa_key.pub
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
  $ ssh-keygen -y -f my_dsa_key      # recover pub key from priv
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
  $ ssh-keygen -p -N "newphrase" -P "oldphrase" -f ~/.ssh/id_dsa
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
                                     # change passphrase of priv key
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
867
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 376
diff changeset
    16
  $ ssh user@remote_host cat ">>" "~/.ssh/authorized_keys" <~/.ssh/id_rsa.pub
371
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
                                     # public pub key on remote host
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
* Using.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
** Shell login.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
  $ ssh $user@$host
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
  $ ssh $user@$host:$port
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
372
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    26
  $ ssh -i ~/.ssh/my_dsa_key $user@$host
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    27
371
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
or
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  $ ssh -l $user $host
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
  $ ssh -l $user $host:$port
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
** X session.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
  $ ssh -X $user@$host
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
372
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    37
** Multiply private keys.
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    38
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    39
ssh try use all listen keys:
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    40
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    41
  $ ssh -i ./priv1 -i ./priv2 $user@$host
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    42
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    43
or place in ~/.ssh/config:
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    44
376
9d0020009266 Per host private key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 375
diff changeset
    45
  Host *
372
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    46
  IdentityFile ~/.ssh/identity # standard search path for protocol ver. 1
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    47
  IdentityFile ~/.ssh/id_dsa   # standard search path for RSA key protocol ver. 2
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    48
  IdentityFile ~/.ssh/id_rsa   # standard search path for DSA key protocol ver. 2
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    49
  IdentityFile ~/.ssh/my_dsa
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    50
  IdentityFile ~/.ssh/another_dsa
1a1b0f19eb51 Multiply private keys for ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 371
diff changeset
    51
376
9d0020009266 Per host private key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 375
diff changeset
    52
or per host private key:
375
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    53
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    54
  Host host1                   # alias, that user provide at CLI
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    55
  HostName host1.example.com   # real host name to log into
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    56
  User iam
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    57
  IdentifyFile ~/.ssh/iam_priv_dsa
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    58
  Host host2                   # alias, that user provide at CLI
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    59
  HostName 192.168.1.2         # real host IP to log into
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    60
  User admin
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    61
  IdentifyFile ~/.ssh/admin_priv_dsa
14c1b180f3f3 Per host ssh priv key.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 374
diff changeset
    62
371
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
* Installing.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
** Windows.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
Use Cygwin OpenSSH.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
*** Installing sshd on Cygwin.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
 * Install base packages and openssh.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
 * Set CYGWIN env var to 'binmode tty ntsec'.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
 * Create Windows user.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
 * Recreate /etc/passwd:
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
     $ mkpasswd -l -u user >>/etc/passwd
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
   or
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
     $ mkpasswd -l >/etc/passwd
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
  * Register sshd:
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
     $ mkdir -p /home/user
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
     $ ssh-host-config -y
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
  * Start:
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
     $ net start sshd
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
   or
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
     $ cygrunsrv -S sshd
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
 * Check from remote host:
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
     $ ssh $gygwin_host -l user
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
To stop service use
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
  $ net stop sshd
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
or
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
  $ cygrunsrv -E sshd
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
*** Запускаем SSH server на правах произвольного пользователя.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
 * Создаем пользователя, например с именем user, задаем ему пароль,
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
   права (т.е. в какие группы будет входить) и т.д., пользователя не блокируем.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
 * В консоле MMC добавляем оснастку "Параметры безопасности.". Модифицируем параметры:
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
     "Параметры безопасности."->"Локальные политики."->"Назначение прав пользователя."
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
     ->"Вход в качестве службы."->добавить 'user'.
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
     "Параметры безопасности."->"Локальные политики."->"Назначение прав пользователя."
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
     ->"Отклонить локальный вход."->удалить 'user' (если был установлен).
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
     XXX "Принудительное удаленнон завершение."
0664ebefacb1 Using ssh.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107