chsh на самом деле изменяет строку, имеющую отношение к пользователю в/etc/passwd, хотя пользователь может только изменить его собственную 'строку' в/etc/passwd. Следовательно, если Вы хотите изменить оболочку для другого пользователя, Вам нужен его / ее passwd.
Если Вы действительно хотите сделать это (учитывая проблемы в сообщении Lorenzo, и возможные проблемы безопасности) вот то, как можно сделать это:
#visudo
Это требует полномочий пользователя root.
Скажите, что Вы в настоящее время работаете как "alice" и хотите изменить оболочку "боба" без пароля;
Добавьте к файлу:
Cmnd_Alias SHELL = /usr/bin/chsh
Runas_Alias SH = Bob
alice ALL = (SH) NOPASSWD: SHELL
Это удостоверяется, что 'alice' может работать на всех хостах как на пользователях в группе SH без пароля группа команд в SHELL.
Вероятно, немного неправдоподобный, чтобы сделать это этот путь, но это возможно.
Обязательно считайте "человека sudoers" прежде, чем изменить файл потов с 'visudo', особенно сообщения, связанные с безопасностью!
Или вы можете создать запись в вашем .ssh / config следующим образом:
host myserver
hostname ec2-xx-xx-xx-xx.eu-west-1.compute.amazonaws.com
user username
IdentityFile path/to/your.pem
Итак, после этого вы можете ssh на свой сервер следующим образом: ssh myserver
Согласно Файлы PEM, также хорошо хранить копию в надежном месте, поскольку она не может быть восстановлена .
из командной строки, вот так:
$ ssh username@exampleservername.com -i yourpemfile.pem
Затем вы можете войти на сервер.
Другие ответы здесь великолепны, предполагая, что у сервера-получателя уже есть открытый ключ файла .pem
. В моем случае я создал файл .pem
для доступа к существующему серверу, который не был настроен для моего вновь созданного ключа. Итак, вот как мне удалось настроить свой сервер для доступа с помощью вновь созданного ключа .pem
:
Создайте публичный ключ из файла . pem
файл: ssh-keygen -y -f my-new-key.pem > my-new-key.pub
Передайте ключ на мой сервер: scp -i ~/.ssh/my-old-key.pem /path/to/my-new-key.pub user@123.456.789:~/. ssh/
SSH на сервер и прикрепили файл pem следующим образом: ssh -i ~/.ssh/my-new-key.pem user@123.456.789
и запустите cat ~/.ssh/my-new-key.pub >> ~/. ssh/authorized_keys
Теперь вы можете зайти на свой сервер, используя только что сгенерированный ключ .pem
!, т.е. ssh -i ~/.ssh/my-new-key.pem user@123.456.789
.