Как да активирате SSH на Mac от командния ред
Съдържание:
- Активирайте SSH на Mac от командния ред със системна настройка
- Изключете SSH на Mac OS със системна настройка
Всички съвременни Mac компютри, работещи с macOS или Mac OS X, идват с предварително инсталиран SSH по подразбиране, но демонът SSH (Secure Shell) също е деактивиран по подразбиране. Напредналите потребители на Mac може да оценят възможността за активиране и деактивиране на SSH и двете са достъпни изцяло от командния ред на Mac OS, позволявайки лесен начин за разрешаване или забрана на отдалечени връзки към компютър.Не е необходимо зареждане, изтегляне или компилиране на kext, за да включите SSH от терминала на всеки Mac, просто трябва да изпълните команда за настройка на системата, както ще покажем в този урок.
Бърза странична бележка; това ръководство се отнася за всички версии на macOS и Mac OS X, но всъщност е насочено към по-напреднали потребители, които прекарват много време в терминала. Ако искате да изключите и включите SSH и да избегнете командния ред, можете да го направите, като активирате Remote Login в панела за предпочитания за споделяне на Mac или да спрете сървъра, като го оставите без отметка. Ако не използвате редовно ssh, няма причина да активирате ssh сървъра на Mac.
Как да проверите дали SSH Remote Login е активирано в Mac OS чрез терминал
Искате ли да проверите текущото състояние на SSH на Mac? С помощта на командния низ на системната настройка можем бързо да определим дали SSH и отдалеченото влизане в момента са активирани на всеки Mac:
sudo systemsetup -getremotelogin
Ако отдалеченото влизане и SSH в момента са активирани, командата и отчетът ще казват „Отдалечено влизане: Включено“, докато ако SSH е деактивирано и в състоянието на macOS по подразбиране, ще пише „Отдалечено влизане: Изключено“ .
Активирайте SSH на Mac от командния ред със системна настройка
За бързо включване на SSH сървър и разрешаване на входящи ssh връзки към текущия Mac, използвайте флага -setremotelogin със системна настройка по следния начин:
sudo systemsetup -setremotelogin on
sudo е необходим, защото командата systemsetup изисква администраторски привилегии, точно както когато активирате отдалечено влизане от предпочитанията за споделяне на Mac, за да активирате сървърите със защитена обвивка.
Няма потвърждение или съобщение, че отдалеченото влизане и SSH са активирани, но можете да използвате гореспоменатия флаг -getmorelogin, за да проверите и потвърдите, че SSH сървърът наистина работи.И да, използването на -setremotelogin се отнася за активиране на ssh и sftp сървъри на Mac.
След като ssh е активиран, всеки потребителски акаунт или човек, който има данни за вход на текущия Mac, може да получи достъп до него отдалечено, като използва командата ssh, насочена към IP адреса на Mac, така:
След като се свърже, потребителят ще има отдалечен достъп до компютъра чрез командния ред и ако има администраторски акаунт или администраторска парола, ще има и пълен достъп за отдалечено администриране.
Изключете SSH на Mac OS със системна настройка
Ако искате да деактивирате SSH сървъри от командния ред и по този начин да предотвратите отдалечени връзки, просто превключете „включено“ на „изключено“ с флага -setremotelogin на системната настройка по следния начин:
sudo systemsetup -setremotelogin off
Отново, sudo е необходимо, за да изключите SSH и да деактивирате ssh и sftp сървърите.
Когато изпълните успешно командата, ще бъдете попитани: „Наистина ли искате да изключите дистанционното влизане? Ако го направите, ще загубите тази връзка и ще можете да я включите отново локално на сървъра (да/не)?“ така че въведете „да“, за да потвърдите, което ще деактивира SSH и също ще прекъсне всички активни SSH връзки към въпросния Mac. Ако искате да избегнете необходимостта да пишете да/не, може би за включване в скрипт за настройка или по друг начин, можете да използвате флага -f, за да заобиколите въпроса по следния начин:
sudo systemsetup -f -setremotelogin off
По подобен начин можете също да използвате -f, за да пропуснете всички подкани по отношение на активирането на SSH.
systemsetup -f -setremotelogin on
Имайте предвид, че независимо дали изключите SSH или активирате SSH от командния ред, настройката на системния панел за предпочитания за отдалечено влизане в GUI на Mac OS X ще бъде коригирана, за да отрази съответно промяната.