Как изменить порт sshd на облачном экземпляре Google? - PullRequest
0 голосов
/ 03 октября 2018

Я изменил порт в /etc/ssh/sshd_config на 23. Я перезапустил sshd (sudo systemctl restart sshd).Я добавил правило брандмауэра для 23:

gcloud compute firewall-rules create debug-ssh-23 --allow tcp:23

Но все равно не работает ... Время ожидания команд Ssh.Как правильно изменить порт sshd?

РЕДАКТИРОВАТЬ:

Правило брандмауэра: { "allowed": [ { "IPProtocol": "tcp", "ports": [ "23" ] } ], "creationTimestamp": "2018-10-02T14:02:23.646-07:00", "description": "", "direction": "INGRESS", "disabled": false, "id": "3968818270732968496", "kind": "compute#firewall", "name": "debug-ssh-23", "network": "https://www.googleapis.com/compute/v1/projects/foo/global/networks/default", "priority": 1000, "selfLink": "https://www.googleapis.com/compute/v1/projects/foo/global/firewalls/debug-ssh-23", "sourceRanges": [ "0.0.0.0/0" ] }

Но я не могу получить доступ к простой службе nginx на этом порту.На 80, работает.Правило для 80 аналогично.

sshd_config:

# Force protocol v2 only
Protocol 2

# Disable IPv6 for now
AddressFamily inet

# /etc is read-only.  Fetch keys from stateful partition
# Not using v1, so no v1 key
HostKey /mnt/stateful_partition/etc/ssh/ssh_host_rsa_key
HostKey /mnt/stateful_partition/etc/ssh/ssh_host_ed25519_key

PasswordAuthentication no
ChallengeResponseAuthentication no
PermitRootLogin no
UsePAM yes

PrintMotd no
PrintLastLog no
UseDns no
Subsystem sftp internal-sftp

PermitTunnel no
AllowTcpForwarding yes
X11Forwarding no

Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr

# Compute times out connections after 10 minutes of inactivity.  Keep alive
# ssh connections by sending a packet every 7 minutes.
ClientAliveInterval 420

AcceptEnv EDITOR LANG LC_ALL PAGER TZ

Ответы [ 2 ]

0 голосов
/ 14 апреля 2019

Мне не нужно было добавлять ssh-flag к моей команде gcloud (которую я мог просматривать, но не мог понять, как редактировать).Я следовал этим инструкциям:

Использование SSH через WiFi на самолете, который блокирует порт 22 * ​​1004 *

Но в моей установке Centos был пустой sshd_config.Я просто добавил эту строку:

Port 80

и запустился (сначала я выполнил команды по ссылке выше):

systemctl restart sshd.service

, а затем я включил SSHD и включил его.порт 80.

Другие примечания:

  1. Я использовал это, потому что хотел выполнять работу во время полета JetBlue и не мог подключиться к своему серверу, используяSSH (кажется, они блокируют трафик порта 22, и я не хочу менять порт, на котором я использую SSHD).Итак, я создал эту виртуальную машину для запуска SSH на порту 80, и затем я мог подключиться оттуда к своему серверу.

  2. Чтобы сэкономить 300 долларов США в кредите Google Cloud, я включил свой экземпляр виртуальной машинывыключен, и когда я летел, я включил его, и в этой облачной зоне Google не хватило ресурсов для запуска моего экземпляра.Argh !!Перед тем, как отправиться в полет, включите экземпляр вашей виртуальной машины, чтобы убедиться, что он будет доступен заранее.Перемещение его в другую зону было PITA, поэтому я создал новый экземпляр и обнаружил, что могу подключиться к нему, даже если он по умолчанию настроен на запуск SSH через порт 22, подключившись к нему через соединение консоли gcloud через SSH в окне браузера., поэтому не было необходимости менять порт, на котором все равно работал SSH (по крайней мере, для JetBlue) ...

  3. Когда я создавал этот второй экземпляр виртуальной машины с использованием образа CENTOS 7,на этот раз он создал полный файл sshd_config, и я просто изменил следующую строку:

#Port 22

на:

Port 80

А такжевыполнил все команды по первой ссылке в моем посте.

0 голосов
/ 03 октября 2018

помимо sshd_config опция Port, также см. ListenAddress

Выполните sudo systemctl reload sshd.service, чтобы применить изменения.

вам необходимо добавить параметр ssh-flag для подключенияна другой порт:

gcloud compute --project "PROJECT_NAME" ssh --zone "us-central1-b" "instance-1" --ssh-flag="-p 23"

в облачной консоли, есть также «открыть в окне браузера на пользовательский порт».

, чтобы увидеть, если и где он слушает ...

sudo cat /var/log/secure | grep sshd

вывод должен выглядеть примерно так:

instance-1 sshd[1192]: Server listening on 0.0.0.0 port 23.
instance-1 sshd[1192]: Server listening on :: port 23.
...