Назад | Перейти на главную страницу

Доступ к моему серверу через SSH с доменом (с Cloudflare)

У меня есть этот сервер (например, 44.44.44.44) с веб-сервером. Я направил pollnote.com к серверу, чтобы получить доступ к моему веб-серверу. Все нормально работает.

Чтобы получить доступ к серверу, я добавил свой открытый ключ в .ssh/authorized_keys так что я могу сделать ssh root@44.44.44.44 авторизоваться без проблем.

Проблема возникает, когда я пробую вот так: ssh root@pollnote.com. Терминал просто ничего не отображает и ждет, пока я не решу отменить команду.

Что мне нужно сделать, чтобы получить доступ к серверу, используя доменное имя в качестве ссылки?

ОБНОВИТЬ

Я должен был упомянуть, что получаю доступ к серверу через CloudFlare. Может это актуально ..?

данные

➜  ~  dig pollnote.com

; <<>> DiG 9.9.5-9ubuntu0.1-Ubuntu <<>> mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56675
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;pollnote.com.          IN  A

;; ANSWER SECTION:
pollnote.com.       299 IN  A   104.27.165.70
pollnote.com.       299 IN  A   104.27.164.70

;; Query time: 54 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Thu Jul 30 19:12:38 CEST 2015
;; MSG SIZE  rcvd: 73

➜  ~  ssh -vvv root@pollnote.com
OpenSSH_6.7p1 Ubuntu-5ubuntu1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to pollnote.com [104.27.165.70] port 22.

Когда вы подключаетесь по IP-адресу, SSH-соединение идет напрямую на ваш сервер, но если вы используете доменное имя, оно проходит через защиту Cloudflare. Я предлагаю либо использовать direct.pollnote.com (Я думаю, что CloudFlare создает его автоматически, но люди часто удаляют его) или добавьте свой собственный псевдоним, например ssh.pollnote.com и отключите на нем защиту CloudFlare.

dtoubelisОтвет определенно решает эту проблему.

Дружественная поправка, рассмотрите возможность использования чего-то другого, кроме ssh.yourserver.com так что потенциальным злоумышленникам будет сложнее определить IP-адрес вашего хоста.

Например, secret-circus-monkey.yourserver.com.

См., Например, Правильная схема именования серверов; в частности, комментарий автора относительно векторов атак:

В статье мы упоминали, что наша схема именования также позволяет предотвратить непреднамеренное раскрытие информации, публично раскрывая только короткое случайное имя хоста, а функциональные имена разрешаются исключительно во внутренней сети.

Вы можете использовать что-то вроде этого Вот.

Если я попытаюсь подключиться к домену по SSH, наши IP-адреса будут отображаться, и это вызовет проблемы (то же самое произойдет с чем-то вроде ftp).

Я хотел добавить это как комментарий к ответу @ dtoubelis, но форматирование текста было слишком ограничительным, поэтому я добавляю его в качестве ответа.

В моем случае я добавил следующую запись DNS на экран «DNS» в Cloudflare:

Type     Name    Value                            TTL           Status
CNAME    ssh     is an alias of mywebsite.com     Automatic     Grey

Я все еще не мог заставить его работать, пока не понял, что вам нужно изменить свою команду входа в ssh с:

ssh user@mywebsite.com

к

ssh user@ssh.mywebsite.com.

Затем я добавил аналогичные записи CNAME для ftp и sftp, поэтому, например, имя хоста ftp в вашем ftp-клиенте изменится с:

mywebsite.com

к

ftp.mywebsite.com.

Я не уверен, что вместо CNAME вы можете создать запись A, но, согласно Cloudflare.

Большое спасибо @dtoubelis за ответ.