SSH на другом приватном путу док VPN остаје активан
SSH демон везан на адресу тунела неће одговорити на новом приватном интерфејсу. Додајте везивање и проверите нову сесију пре затварања старе.
Једна машина стиже до друге преко VPN-а, а сада неко жели исту љуску преко приватне мреже провајдера. Рута постоји, ping успева, а SSH ипак одбија. Уобичајен узрок је да демон никада није слушао на новој адреси, па нема чему да се повеже. Ово је проблем везивања адресе пре него што постане проблем заштитног зида.
Зашто нова рута не ствара нови слушалац
Слушајући сокет ствара процес који именује адресе на којима ће примати везе. Рута само говори пакетима куда да иду; она не ствара слушалац на одредишту. Када је sshd конфигурисан са једним ListenAddress, везе ка било којој другој локалној адреси се одбијају иако је интерфејс активан. Исто важи за сокет-јединицу која поседује порт, зато је прва провера увек шта заправо слуша.
Упоредите два пута по одредишној адреси, а не по имену интерфејса. Клијент се повезује на адресу, и та адреса мора бити везана пре него што било које правило заштитног зида постане важно.
Наведите адресе и слушаоце
Пре било каквог уређивања, забележите адресе на хосту и сокете који сада постоје.
ip -br addr
ss -ltnp | grep ':22'Листа адреса показује која је приватна адреса стварна и на ком интерфејсу, док листа сокета показује да ли је нешто везано за њу. Слушалац на 0.0.0.0:22 већ прихвата сваку адресу, па ново везивање ништа не додаје. Слушалац на једној конкретној адреси одмах објашњава одбијање. Ако порт припада сокет-јединици, а не демону, конфигурација демона није цела прича.
Додајте везивање и задржите старо
OpenSSH прихвата неколико ListenAddress записа, па VPN пут може да остане док се приватни додаје. Тестирајте датотеку пре поновног учитавања.
sshd -t
systemctl reload sshdНеуспешан тест конфигурације оставља покренути демон нетакнутим, и то је управо оно што желите док сте повезани преко пута који уређујете. Задржите постојећи запис, додајте нову локалну адресу и потврдите да се услуга поново учитава без прекидања тренутне сесије. На инсталацијама активираним сокетом додајте адресу сокет-јединици и поново учитајте ту јединицу. Затим поново прочитајте листу слушалаца, јер везивање које се никада није појавило значи да је уређена погрешна компонента.
Проверите нову сесију пре затварања старе
Повежите се на нову адресу док је оригинална сесија још отворена, користећи детаљан излаз да видите која адреса и кључ су коришћени. Оставите оригиналну сесију отворену док провера не успе два пута.
ssh -v [email protected]Прочитајте линије за отклањање грешака о одредишној адреси и представљеном кључу хоста. Потврдите отисак кључа хоста према вредности којој већ верујете, уместо да прихватите непознат кључ зато што је мрежа описана као приватна. Ново одредиште захтева сопствени known_hosts запис, и то је очекивано. Стару сесију управљања треба затворити тек када приватни пут проради.
SSH штити пренос, али сам по себи не чини две мреже једнаким. Одлучите да ли поверење приватног транзита одговара подацима пре него што се на њега ослоните.