ssh.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 10 Oct 2012 21:14:37 +0300
changeset 1386 864237ce5f1b
parent 1385 acb36dfe5d09
child 1595 7f512266d262
permissions -rw-r--r--
X11Forwarding does not work with OpenSSH under Cygwin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
     1
.. -*- coding: utf-8; -*-
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1032
diff changeset
     2
.. include:: HEADER.rst
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
===========
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 SSH/sshd.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
===========
1032
4decc3e00bb6 Fix coding and contents.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1002
diff changeset
     7
.. contents::
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
1385
acb36dfe5d09 Debugging ssh client.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1384
diff changeset
     9
Debugging ssh client.
acb36dfe5d09 Debugging ssh client.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1384
diff changeset
    10
=====================
acb36dfe5d09 Debugging ssh client.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1384
diff changeset
    11
::
acb36dfe5d09 Debugging ssh client.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1384
diff changeset
    12
acb36dfe5d09 Debugging ssh client.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1384
diff changeset
    13
  $ ssh -vvv ...
acb36dfe5d09 Debugging ssh client.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1384
diff changeset
    14
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
Maintaining key pair.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
=====================
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
  $ ssh-keygen -t dsa     # for DSA
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
  $ ssh-keygen -t rsa     # for RSA
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
  $ ssh-keygen -t dsa -C comment     # put own comment instead user@host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
  $ ssh-keygen -t dsa -f my_dsa_key  # store priv key under my_dsa_key
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
                                     # and pub key under my_dsa_key.pub
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
  $ ssh-keygen -y -f my_dsa_key      # recover pub key from priv
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
  $ ssh-keygen -p -N "newphrase" -P "oldphrase" -f ~/.ssh/id_dsa
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
                                     # change passphrase of priv key
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  $ ssh $user@$host cat ">>" "~/.ssh/authorized_keys" <~/.ssh/id_rsa.pub
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
                                     # public pub key on remote host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
Shell login.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
============
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
  $ ssh $user@$host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
  $ ssh $user@$host:$port
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
  $ ssh -i ~/.ssh/my_dsa_key $user@$host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
or::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  $ ssh -l $user $host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
  $ ssh -l $user $host:$port
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
1384
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    47
X11 forwarding.
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    48
===============
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    49
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    50
Enable X11 forwarding on remote host in ``~/.ssh/config`` or ``/etc/ssh_config``::
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    51
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    52
  X11Forwarding yes
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    53
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    54
then login to this host by::
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
  $ ssh -X $user@$host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
1384
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    58
or by using trusted X11 forwarding::
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    59
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    60
  $ ssh -Y $user@$host
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    61
1386
864237ce5f1b X11Forwarding does not work with OpenSSH under Cygwin
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1385
diff changeset
    62
See:
864237ce5f1b X11Forwarding does not work with OpenSSH under Cygwin
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1385
diff changeset
    63
864237ce5f1b X11Forwarding does not work with OpenSSH under Cygwin
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1385
diff changeset
    64
  http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-ssh-no-x11forwarding
864237ce5f1b X11Forwarding does not work with OpenSSH under Cygwin
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1385
diff changeset
    65
                X11Forwarding does not work with OpenSSH under Cygwin
1384
9698523dd263 X11 forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1383
diff changeset
    66
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
Multiply private keys.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
======================
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
ssh try use all listen keys::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
  $ ssh -i ./priv1 -i ./priv2 $user@$host
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
or place in ~/.ssh/config::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
  Host *
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
  IdentityFile ~/.ssh/identity # standard search path for protocol ver. 1
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
  IdentityFile ~/.ssh/id_dsa   # standard search path for RSA key protocol ver. 2
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
  IdentityFile ~/.ssh/id_rsa   # standard search path for DSA key protocol ver. 2
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
  IdentityFile ~/.ssh/my_dsa
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
  IdentityFile ~/.ssh/another_dsa
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
or per host private key::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
  Host host1                   # alias, that user provide at CLI
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
  HostName host1.example.com   # real host name to log into
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
  User iam
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
  IdentifyFile ~/.ssh/iam_priv_dsa
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
  Host host2                   # alias, that user provide at CLI
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
  HostName 192.168.1.2         # real host IP to log into
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
  User admin
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
  IdentifyFile ~/.ssh/admin_priv_dsa
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    94
Installing sshd on Cygwin.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
==========================
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
 * Install base packages and openssh.
1382
9297a8f7e3f3 Fix: CYGWIN=tty is no longer supported.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
    98
 * Set CYGWIN env var to 'binmode ntsec'.
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
 * Create Windows user.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
 * Recreate /etc/passwd::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
     $ mkpasswd -l -u user >>/etc/passwd
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
   or::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
     $ mkpasswd -l >/etc/passwd
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
  * Register sshd::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
     $ mkdir -p /home/user
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
     $ ssh-host-config -y
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   108
  * Start::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   109
     $ net start sshd
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   110
    or::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
     $ cygrunsrv -S sshd
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   113
 * Check from remote host::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   114
     $ ssh $gygwin_host -l user
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   115
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   116
To stop service use::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   118
  $ net stop sshd
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
or::
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   122
  $ cygrunsrv -E sshd
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   123
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   124
Запускаем SSH server на правах произвольного пользователя.
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   125
----------------------------------------------------------
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   126
1383
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   127
 * Создаем пользователя, например с именем user, задаем ему пароль, права (т.е.
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   128
   в какие группы будет входить) и т.д., пользователя не блокируем.
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   129
 * В консоле MMC добавляем оснастку "Параметры безопасности". Модифицируем
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   130
   параметры:
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   131
1383
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   132
     "Параметры безопасности" --> "Локальные политики" --> "Назначение прав
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   133
     пользователя." --> "Вход в качестве службы" --> добавить 'user'.
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   134
1383
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   135
     "Параметры безопасности" --> "Локальные политики" --> "Назначение прав
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   136
     пользователя" --> "Отклонить локальный вход" --> удалить 'user' (если был
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   137
     установлен).
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   138
1383
a9febd006f66 Fix styles.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1382
diff changeset
   139
     XXX "Принудительное удаленное завершение."
1002
234cd58cae56 Fix RTS syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   140