Как поменять пароль ssh linux

Смена пароля при первом входе по SSH на Ubuntu 10.10

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

IP-address сервера: 192.168.1.5

Заведём учетную запись:

$ sudo useradd -m tost

Установим учетной записи пароль:

$ sudo passwd tost (Aa1234567)

Укажем, что при входе учетной записью на сервер/рабочую станцию, пользователь должен сменить пароль :

$ sudo chage -d 0 tost

Разрешаем учетной записи заходить на сервер по ssh :

$ sudo nano /etc/ssh/sshd_config

, нужно изменить директиву AllowUsers и прописать тем учетным записям которым разрашено подключаться к серверу по ssh.

Подключаемся к серверу по ssh :

$ ssh -l tost 192.168.1.5

, где -l — указываем под какой учетной записью подключится к серверу

192.168.1.5 – имя сервера

$ ssh -l tost 192.168.1.5

The authenticity of host ‘192.168.1.5 (192.168.1.5)’ can’t be established.

RSA key fingerprint is b9:61:64:d5:ab:fa:d7:e6:69:cc:75:90:ab:cf:9b:4d.

Are you sure you want to continue connecting (yes/no)? Yes (Соглашаемся)

You are required to change your password immediately (root enforced) — Вам необходимо сменить пароль.

Linux vkeiz 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux

Welcome to Ubuntu!

Last login: Wed Aug 15 02:14:51 2012 from ekv.local

WARNING: Your password has expired . (Ваш пароль истек, нужно сменить его)

You must change your password now and login again!

Changing password for tost.

(current) UNIX password:

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

По окончании смены пароля, сессия подключения через ssh закрывается .

Connection to 192.168.1.5 closed.

Приведенные примеры паролей указаны в качестве примера, в Вашем случае используйте свои.

Теперь подключаемся к серверу с изменным паролем :

$ ssh -l tost 192.168.1.5

tost@192.168.1.5‘s password: Ss1234567

Linux vkeiz 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux

Welcome to Ubuntu!

Last login: Wed Aug 15 02:15:22 2012 from ekv.local

$ w — отобразить текущие подключения к серверу.

02:23:05 up 1:11, 3 users, load average: 0.01, 0.20, 0.20

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

keiz tty8 :0 01:56 17:00m 3.91s 0.09s gnome-session

keiz pts/0 :0.0 01:56 15:56 0.17s 0.17s bash

tost pts/1 ekv.local 02:23 0.00s 0.00s 0.00s w

$ pwd – смотрим текущий каталог

Источник

Сменить пароль root-пользователя

Разберём как можно самостоятельно сменить пароль от root-пользователя VPS у в панели управления.

Для этого нам потребуется зайти в панель оплаты услуг, логин это почтовый ящик регистрации и пароль который был сгенерирован при регистрации, если пароль не подходит Вы всегда можете воспользоваться восстановлением пароля, нажмите на кнопку «Восстановить пароль».

1. Смена пароля в старом интерфейсе

Для смены пароля в старом интерфейсе зайдите в панели оплаты услуг перейдите в раздел «Товары/Услуги» — «Серверы VPS/VDS», выберите услугу VPS-сервера, в верхней панели нажмите на кнопку «Сменить пароль».

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

Новый пароль добавлен в поля, нажмите на кнопку «ОК». Ожидайте смены пароля, в это время сервер будет автоматически перезагружен.

Чтобы узнать данные для доступа к VPS-серверу, в том же разделе выберите услугу хостинга, в верхней панели нажмите на кнопку «Инструкция».

2. Смена пароля в новом интерфейсе

Для смены пароля в новом интерфейсе перейдите в раздел «Все услуги» — «Серверы VPS/VDS».

В поле с услугой VPS-сервера нажмите на вертикальное многоточие и из выпадающего меню выберите пункт «Информация».

Перед Вами появится окно с данными по VPS-серверу, необходимо перейти в пункт «Доступ root», и в поле с паролем нажмите на «Изменить».

READ  Как загрузить windows 7 с флешки через bios на ноутбуке hp

Аналогично, как и в старом интерфейсе Вы можете ввести свой пароль или нажать на кнопку «Генерировать». Как только Вы указали новый пароль, нажмите на кнопку «Изменить».

Для просмотра данных для доступа перейдите в раздел «Все услуги» — «Серверы VPS/VDS», в поле с услугой VPS-сервера нажмите на вертикальное многоточие, из выпадающего меню выберите пункт «Инструкция».

3. Смена пароля при подключение по SSH.

Для смены пароля подключаемся к серверу выполняя данную команду:
ssh root@IP-адрес_сервера

Далее у нас запросят пароль для подключения, копируем и вводим пароль.

Чтобы сменить пароль вводим данную команду:
passwd root

Далее Вам необходимо будет указать новый пароль и продублировать его, применяем изменения. Закрываем соединение по SSH комбинацией клавиш CTRL+D. Повторно подключаемся к VPS-серверу уже с новыми данными:
ssh root@IP-адрес_сервера

При использование данного способа, в инструкции к услуге VPS-сервера пароль не измениться, а останется последний выставленный пароль, поэтому после смены пароля данным способом рекомендуем сохранить пароль у себя на ПК.

Источник

Подсоединиться по SSH и поменять пароль?

В общем есть такая задача. Есть панель администратора, в которой есть функционал смена пароля пользователя.

Идея такая: вызываем из под PHP скрипт, который логинится по SSH к серверу под рутом и меняет пароль пользователя. Пароль рута мы знаем.

От моего предшественника достался такой код:

Вызывается с помощью PHP так:

Выше приведенный код не работает, возможно проблема в некорректной обработки expect.

И мне кажется есть более нормальный вариант смены пароля. К сожалению ставить доп. софт и библиотеки на сервер и клиентов не могу. Я не могу что либо закидывать на остальные ПК, даже файлы ключей.

Как лучше всего соединиться с сервером и поменять пароль?

  • Вопрос задан более трёх лет назад
  • 13823 просмотра

Оценить 4 комментария

К сожалению, такой вариант мне не подойдет. Я не смогу что либо закидывать на остальные ПК, даже файлы ключей.

У меня есть список адресов и паролей рутов.

Какая-то дикая жесть…

Обработать ошибки и сочинить $command сможете?

Можете попробовать заменить этот скрипт на expect на утилиту sshpass (придется поставить дополнительно)
sshpass -p password ssh root@host «echo user1:passwd1 | chpass»
из соображений безопасности лучше пароль передавать через файл или переменную окружения (такая возможность есть)

Источник

Script to change password on linux servers over ssh

We have a number of Red Hat linux servers in our IT environment. I am being asked by my team members to write a script (preferably shell script) to change a user’s password on each one of those in a single go, using SSH.

I have tried to find a solution but many of the scripts I found are using Expect. We do not have Expect installed on our servers and the system admins have refused to let us install it. Also, the users do not have root access so passwd —stdin or chpasswd cannot be used.

Is there any way a script can be written so that a user can run it and change the password of only his own user on all the servers in a list?

17 Answers 17

Trending sort is based off of the default sorting method — by highest score — but it boosts votes that have happened recently, helping to surface more up-to-date answers.

It falls back to sorting by highest score if no posts are trending.

Switch to Trending sort

The remote machine(s) do not need expect installed. You can install expect on a local workstation or VM (virtualbox) or whichever *nix box, and write a wrapper that calls this .ex (expect) script (there may be small changes from distro to distro, this tested on CentOS 5/6):

READ  Как восстановить пароль на ноутбуке если забыл пароль windows 7 без диска

You do not need root access to use passwd .

This shoud work just fine.

You should try pssh (parallel ssh at the same time).

Building on squashbuff’s example, I tried the following, which worked well for me:

Security wise, Could be improved to take input without echoing to the screen OR saving the plaintext to disk.

Another possibility: change it manually on one server. Get the encrypted password out of /etc/shadow. Now, do something like this:

Of course, ‘encrypted_passwd» is what you got out of /etc/shadow where you manually changed the password. And $HOST_LIST is a list of hosts where you want the password changed. That could be created simply with:

Or perhaps with a file (as others have suggested):

Where the file «host_list.txt» has a list of all the systems where you want the password changed.

Edit: if your version of passwd doesn’t support the -p option, you might have the ‘usermod’ program available. The example above remains the same, simply replace ‘passwd’ with ‘usermod’.

Furthermore, you might consider the useful tool pdsh, which would simplify the above example to something like this:

Источник

Защищаемся по SSH

Прежде чем разворачивать на сервере буйную деятельность обезопасим себя от взлома. Всякие создание и размещение сайтов, баз данных все это подождет. Первым делом после входа на новый сервер защищаем его больное место: порт SSH, который изначально открыт на всех серверах Linux и является одной из главных целей серверовзломщиков, потому что они знают кто владеет SSH тот владеет миром.

Изменяем пароль доступа по SSH.

Заходим на сервер с правами root при помощи программы Putty и меняем пароль суперпуперпользователя root присланный нам от хостинг компании (какой-нибудь типа 7Sw&IjKf^1y?Q) на более внятный нам. Несколько рекомендаций:

  • пароль не должен содержать всяких японских иероглифов и русских букв, разрешена только латиница,
  • пароль не должен быть английским словом, названием, именем или какой-либо известной фразой,
  • пароль не должен быть словом вашего родного языка написанным транскрипцией латиницей или же написанным английской раскладкой клавиатуры, к примеру слово мир (транскрипция mir, с английской клавиатурой vbh)
  • пароль не должен ассоциироваться с вашей личной жизнью.
  • пароль следует делать больше чем 6 символов,
  • пароль рекомендуется составлять из латинских букв в нижнем и верхнем регистре, а также должны присутствовать цифры и знаки препинания.

Команда passwd написанная в консоли Linux дает вам возможность смены пароля пользователя.

В ответ на команду passwd вы увидите сообщения системы с предложением ввода вашего нового пароля (в нашем случае для пароля root).

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

Если в качестве нового пароля вы зададите слишком легкий или слишком короткий по мнению системы пароль, то перед сообщением о повторном вводе нового пароля отобразятся сообщения сопровождающиеся фразой BAD PASSWORD.

На самом деле это ничего страшного система вас просто предупреждает о слабости пароля, но вы всегда можете отказаться от продолжения операции в консоли Linux нажав CTRL+C.

Когда все сделано верно по завершении система уведомит сообщением:

Важно, если вы забудете пароль root то только переустановка системы поможет вам его вернуть!

В случае же если при изменении пароля введенные вами дважды данные не будут совпадать друг с другом операция завершиться не удачей и на экране появится сообщение:

Если кроме всего прочего вам нужно поменять пароль какого-либо конкретного пользователя на сервере, то после ввода команды passwd нужно ввести имя этого пользователя. При этом у вас должно быть достаточно прав на смену пароля указываемого пользователя, конечно если мы работаем на сервере как root, то проблем с этим не возникнет.

READ  Драйвера на руль fgt rumble wheel

Вам опять понадобиться ввести новый пароль, подтвердить его нажав Enter, затем повторить ввод нового пароля и снова Enter.

Некоторые советуют глупости предлагая держать все пароли в уме, когда паролей и PIN-кодов становиться много в них можно запутаться, а создавать один универсальный пароль это самая большая глупость. Можно иметь один пароль к разным сайтам потерю доступа к которым для вас не критично, но пароль SSH к серверу должен быть уникален. Я рекомендую пароли обязательно записывать, куда решать вам, но крайне не желательно на компьютер имеющий доступ в Интернет.

Зачем нужен такой дурацкосложный пароль объясню. Во-первых, в сети уже выложены и постоянно обновляются куча хэшей или иными словами разгаданных паролей. Хэш — это специальным образом математически вычисленное значение чего-либо. Конечно пароли в системе Linux не лежат только в хэш виде и тем более в открытую, хеш пароль пользователя в операционной системе Linux зашифрован и хранится в файле /etc/shadow. Теоретически есть вероятность, что у вас украдут файл /etc/shadow и расшифруют до уровня хеш значения, а хэш уже ломать не придется, если он окажется уже разгаданным. Во-вторых современные сервера, а еще ужаснее целые сети зараженных компьютеров, так называемые ботнеты, способны подбирать пароли, которые еще вчера казались не поддающимися взлому. В-третьих методы взлома с использованием социальной инженерии популярны даже больше чем все остальные, потому что доступны не только хакерам, но и «полу-хакерам», скрывающимися к примеру за фотками симпатичных блондинок на сайтах знакомств или в Фейсбуке, с которыми вы возможно и не желая, но в порыве флирта можете похвастаться своим сервером.

В современном мире чаще ломают пачками, к примеру для этого создается програмка-парсер, она запускается на сервере взломщика или зараженном компьютере и поочередно ищет жертвы в сети, когда ему жертва присматривается она начинают свою работу хищника по взлому. Так вот, для того чтобы вас такие хищники даже не заметили достаточно закрыть 22 порт SSH. Нет порта SSH и нет проблем! С такой могучей идеей можно отказаться и от компьютеров в борьбе с вирусами, но все гораздо проще: мы закрываем 22 порт, про который все и вся знают, что это порт подключения SSH, а вместо него задаем другой порт.

Я рекомендую задавать порт SSH пятизначный до значения 65000. Почему такие далекие порты, это чтобы вы случайно не заняли нужные другим службам порты, к примеру 80 или 443 — это порты сервера для работы веб-сайтов крутящихся на нем. Конфигурационный файл службы отвечающей за работу протокола SSH находится по пути /etc/ssh/sshd_config. Открываем файл

В открывшимся файле увидим строку #Port 22 — знак # комментария говорит о том, что строка в настоящее время не задействована. Чтобы начать редактировать в редакторе нужно нажать на клавиатуре большую букву I, то есть сочетание клавиш shift+i, как первая буква английского слова Insertвставить. Убираем знак # комментария, чтобы задействовать нашу строчку и изменяем цифру порта SSH на другой, к примеру 33442. После чего сохраняем результат. Клавиша ESC — выход из режима редактирования, :wq — закрытие файла и внесение изменений, с английского writeзаписать и quitвыйти. Если строку Port 22 в открывшемся файле sshd_config вы не найдете просто добавьте её в этот файл

Делаем рестарт службы SSH, в Linux это служба sshd

И теперь наравне с новым паролем вам лучше не забывать ваш новый порт, потому что стандартный 22 порт SSH с этого момента на сервере закрыт, а подключаться через Putty вы будете только через порт указанный вами в настройках, в моем примере это 33442 порт, который нужно будет указывать в поле Port программы Putty вместо цифры 22. Мы то с вами порт SSH сервера знаем в отличие от взломщиков.

PS Настройки приведены на примере операционной системы Centos

Источник