SSH Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ssh [2013/11/08 07:21]
[Еще про безопасность]
wiki:ssh [2018/04/09 23:58] (текущий)
[SSH aliases]
Строка 968: Строка 968:
 ==== Запрещение удаленного доступа для суперпользователя ==== ==== Запрещение удаленного доступа для суперпользователя ====
  
-По умолчанию root-доступ ​разрешен. Это означает, что клиент при ​подключении в качестве ​пользователя может указать root, и во многих случаях получить контроль над системойПри условии,​ что по умолчанию в Ubuntu пользователь,​ добавленный при установке системы имеет возможность решать все административные задачи через sudo, создавать возможность root доступа к системе ​как минимум странно. Рекомендуется отключить эту опцию ​совсем, или применять ее только в режиме ''​forced-commands-only''​. Отключить root-доступ можно так:+По умолчанию root-доступ запрещен по паролю (по ключу - можно) - опция PermitRootLogin установлена в without-password((В более ​старых версиях ​и на некоторых других ​дистрибутивах может стоять и вовсе '​yes'​.)). Но, при условии,​ что по умолчанию в Ubuntu пользователь,​ добавленный при установке системы имеет возможность решать все административные задачи через sudo, создавать возможность root доступа к системе ​через ssh - выглядит неразумно (даже при аутентификации по ключу). Рекомендуется ​совсем ​отключитьэту опцию, или применять ее только в режиме ''​forced-commands-only''​. Отключить root-доступ можно так:
 <​file>​ <​file>​
 PermitRootLogin no PermitRootLogin no
Строка 1077: Строка 1077:
  
 Когда ssh работает на нестандартном порту: Когда ssh работает на нестандартном порту:
-<​code=bash>​ssh-copy-id -i "​$IDENTITY" ​"​-p ​$SSH_PORT $SSH_USER@$SSH_HOST"</​code>​ +<​code=bash>​ssh-copy-id -i ~/​.ssh/​id_rsa.pub ​"​-p ​port user@server"</​code>​ 
-<note tip>Следует помнить,​ что символ '​~'​ теряет смысл при экранировании. +<note tip>​Если возникает ошибка:​
- +
-Если возникает ошибка:​+
 <​code>​Bad port 'umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/​authorized_keys'</​code>​ <​code>​Bad port 'umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/​authorized_keys'</​code>​
 попробуйте взять параметры в кавычки:​ попробуйте взять параметры в кавычки:​
-<​code=bash>​ssh-copy-id '​-i ​"​$IDENTITY"​ "-p $SSH_PORT $SSH_USER@$SSH_HOST"'<​/code> +<​code=bash>​ssh-copy-id '-i /home/user/​.ssh/​id_rsa.pub ​"-p port user@server"'​</​code>​
-вот тут: http://​mikegerwitz.com/​2009/​10/​07/​ssh-copy-id-and-sshd-port/​ +
-приводится пример:​ +
-<​code=bash>​ssh-copy-id ‘-p XXXX -i ~/​.ssh/​id_rsa.pub ​username@host’</​code>​ +
-Если возникает ошибка +
-<​code>​Warning:​ Identity file ~/​.ssh/​id_rsa not accessible: No such file or directory.</​code>​ +
-то необходимо прописать полный путь до файла ключа.+
 </​note>​ </​note>​
 Удобно при подключени на удалённой системе пользоваться [[wiki:​screen|утилитой screen]]. Удобно при подключени на удалённой системе пользоваться [[wiki:​screen|утилитой screen]].
 ==== Настройка удаленной ssh-директории в Nautilus ==== ==== Настройка удаленной ssh-директории в Nautilus ====
 Смотрите статью [[nautilus#​Подключение к удаленным серверам|Nautilus]]. Смотрите статью [[nautilus#​Подключение к удаленным серверам|Nautilus]].
-==== Монтирование удаленной ​папки с помощью sshfs ==== +==== Монтирование удаленной ​директории с помощью sshfs ==== 
-монтируем удаленную папку в директорию след образом:<code bash>​sshfs user@hostingserver.ru:/​home/​userdir ~/​sshfsdir</​code>​ +Монтирование удаленного каталога в локальный каталог <code bash>​sshfs user@hostingserver.ru:/​home/​userdir ~/​sshfsdir</​code>​ 
-умоунт осуществляется следующей командой:<code bash>fusermount -u ~/sshsfdir</​code>​+Размонтирование <code bash>​fusermount -u ~/​sshsfdir</​code>​ 
 +==== SSH aliases ==== 
 +При использовании нескольких серверов с различными параметрами доступа (нестандартный порт, длинное имя хоста, логин отличный от локального,​ и т.п.) порой ​утомительно вводить все настройки подключения каждый раз заново. Для облегчения этого можно использовать aliases. 
 + 
 +Настройки хранятся в ''​~/​.ssh/​config''​ для одного пользователя и в ''/​etc/​ssh/​ssh_config''​ глобально ​для всех пользователей. 
 + 
 +Пример конфига. Описано может быть множество серверов. Подробнее в **man ssh_config** (не путать с **sshd_config**) 
 + 
 +<​code>​Host AliasName # Произвольное имя хоста 
 +HostName 1.2.3.4 # Можно указывать как IP, так и hostname (если работает DNS) 
 +User YourUserName # Если пользователь не совпадает с локальным пользователем 
 +Port YourSSHPort # Если нестандартный порт</​code>​ 
 + 
 +После этого можно подключаться к серверу ​командой <code bash>ssh AliasName</​code>​
 ==== ssh-agent ==== ==== ssh-agent ====
  
Строка 1130: Строка 1135:
 ssh user@host ssh user@host
 Если смарт-карта (токен) подключена,​ будет запрошен пароль и выполнен вход в сессию SSH.  Если смарт-карта (токен) подключена,​ будет запрошен пароль и выполнен вход в сессию SSH. 
 +
 +======Возможные проблемы при использовании======
 +
 +Привычная комбинация клавиш <​key>​Ctrl</​key>​+<​key>​s</​key>,​ используемая во многих редакторах для сохранения исправлений,​ при работе в терминале с ssh-cервером приведёт к выполнению команды XOFF что внешне напоминает зависание сессии. ​ Однако это не так. Сервер продолжает принимать вводимые символы и команды,​ но не выводит это на экран. Что бы выйти из такого затруднительного положения достаточно применить комбинацию <​key>​Ctrl</​key>​+<​key>​q</​key>,​ тем самым включив режим XON обратно.
 ===== Ссылки ===== ===== Ссылки =====
   * [[http://​help.ubuntu.ru/​wiki/​fail2ban|Fail2ban]]   * [[http://​help.ubuntu.ru/​wiki/​fail2ban|Fail2ban]]