• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Не може да се свърже Linux VM чрез SSH връзка - Виртуален ...

Не може да се свърже Linux VM чрез SSH връзка - Виртуален ...

Rsdaa 06/02/2022 1904

Не може да се свърже Linux VM чрез SSH връзка

21.07.20203 минути за четене

В тази статия

Тази статия предоставя решение на проблем, при който SSH се проваля, защото файлът /var/empty/sshd не е собственост на основната директория и не е групово или световно записваемо.

Оригинална версия на продукта: Виртуална машина, работеща с Linux. Оригинален KB номер: 4092816

Не може да се свърже Linux VM чрез SSH връзка

Симптоми

Не можете да свържете виртуална машина (VM) на Linux чрез връзка със защитена обвивка (SSH). Когато възникне този проблем, може да получите следното съобщение за грешка за файла /var/empty/sshd, в зависимост от вашата Linux дистрибуция.

SuSE

/var/empty трябва да бъде собственост на root, а не на група или world-writable.startproc: състояние на изход на родител на /usr/sbin/sshd: 255Failed

CentOS

Стартиране на sshd: /var/empty/sshd трябва да се притежава от root и да не може да се записва от група или от света.[FAILED]

Причина

Този проблем може да възникне, ако файлът /var/empty/sshd не е собственост на основната директория и не може да се записва от група или от света.

Решение

За да промените разрешенията за Linux файл, ако нямате SSH достъп, използвайте един от следните методи:

Портал на Azure: Изпълнете персонализиран скрипт на Linux на виртуалната машина, който издава командите на Linux chmod във файла, който трябва да промените. Ръчно прикачване: Изтрийте виртуалната машина, запазете дисковете, монтирайте системния диск към друга временна виртуална машина и след това актуализирайте файлове на временната виртуална машина. След това създайте отново виртуалната машина от системния диск. CLI: Използвайте интерфейса на командния ред, за да изпълните BASH команди на виртуалната машина.

Портал на Azure

Този метод разчита на агента на Azure Linux (WAgent ).

Отворете прозореца със свойства на виртуалната машина в портала на Azure, за да проверите състоянието на агента. Ако агентът е активиран, изпълнете следните стъпки, за да промените разрешението:

Копирайте следния скрипт на вашия локален компютър и след това преименувайте файла на update_perms.sh.

Забележка

Трябва да актуализирате скрипта, за да отразява разпространението на вашата система. Този скрипт работи само с варианти на Red Hat.

#!/bin/bash#Скрипт за промяна на разрешенията за файл###################################### ################param=$1chmod 755 /var/empty/sshd;chown root:root /var/empty/sshd;service sshd restart

Отидете до портала на Azure, намерете вашите VM настройки и след това изберете Разширения> Добавяне > Персонализиран скрипт за Linux > Създавайте.

В скриптовите файлове качете файла update_perms.sh и след това щракнете върху OK.

След като скриптът бъде изпратен към виртуалната машина, стойността на STATUS трябва да бъде Успешно.

Примерният скрипт update_perms.sh променя разрешенията за файла /var/empty/sshd от 777 на 755 и задава собственика и групата на root:root. Изчакайте скриптът да се изпълни. Това може да отнеме няколко минути. Linux Agent получава заявката и след това я предава на правилното разширение. Ако можете да се свържете с виртуалната машина чрез SSH връзка и искате да видите какво се е случило, докато скриптът update_params.sh се изпълнява, прегледайте extension.log файл в директорията /var/log/azure/Microsoft.OSTCExtensions.CustomScriptForLinux/.

Ръчно прикрепете вашите VM дискове към временна VM

Следвайте тези стъпки:

Изтрийте VM, запазете дисковете, монтирайте системния диск към друга временна VM и след това актуализирайте файловете (разрешения и собственост) на временната VM. Създайте отново VM от диск.

За повече информация вижте CLI: Как да изтриете и преразположите VM от VHD (неуправляван диск).

CLI

Използвайте интерфейса на командния ред (CLI), за да инжектирате команди във VM. Има две версии на CLI. За повече информация вижте Използване на разширението за потребителски скрипт на Azure с виртуални машини на Linux.

Следният пример използва по-новата CLI версия 2. Той нулира разрешенията и собствеността на файла /var/empty/sshd чрез използване на разширението customScript чрез CLI. Услугата sshd също се рестартира.

В този скрипт заменете с действителното име на VM и с действителното име на групата ресурси.

vmname=yourvm;rg=yourrg;timestamp=`date +%d%Y%H%M%S`;az vm extension set –resource-group $rg –vm-name $vmname –name customScript –publisher Microsoft.Azure. Разширения – настройки "{'commandToExecute': 'bash -c \'chmod 755 /var/empty/sshd;chown root:root /var/empty/sshd;systemctl start sshd;ps -eaf | grep sshd\",'timestamp ': "$((timestamp))"}"

Серийна конзола

Тази функция ви позволява да осъществявате достъп до VM чрез конзола като физически сървър. Тази схема ви позволява да променяте файлове, без да използвате персонализиран скрипт и без да се налага да изтривате VM.


PREV: Най-добрият прокси сървър за PS4 2021 | Как да използвате прокси сървър на PS4

NEXT: Конфигуриране на PS4 прокси сървър | Най-добрият PS4 прокси сървър за 2021 г

Popular Articles

Hot Articles

Navigation Lists

Back to Top