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