Сначала откройте терминал, станьте root
sudo -i
Затем используйте следующие команды:
измените «старый» на старое имя пользователя, а «новый» на новый желаемое имя.
usermod -d /home/new -m old
sed -i -e 's_old_new_g' /etc/passwd
sed -i -e 's_old_new_g' /etc/group
sed -i -e 's_old_new_g' /etc/shadow
Первая команда перемещает ваш домашний каталог, см. man usermod
-d, --home HOME_DIR Новый каталог входа пользователя. Если задана опция -m, содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который создается, если он еще не существует.Команда sed изменяет имя в /etc/{passwd,group,shadow}
Система в противном случае идентифицирует пользователей по номеру, а не по имени, поэтому ваше владение файлами и разрешения будут в порядке
[d9 ] Чтобы увидеть свой цифровой идентификатор, запустите командуid
Используйте параметр StrictHostKeyChecking, например:
ssh -oStrictHostKeyChecking=no $h uptime
Эта опция также может быть добавлена в ~ / .ssh / config, например:
Host somehost
Hostname 10.0.0.1
StrictHostKeyChecking no
Обратите внимание, что когда ключи хоста изменились, вы получите предупреждение даже с этой опцией:
$ ssh -oStrictHostKeyChecking=no somehost uptime
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
31:6f:2a:d5:76:c3:1e:74:f7:73:2f:96:16:12:e0:d8.
Please contact your system administrator.
Add correct host key in /home/peter/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/peter/.ssh/known_hosts:24
remove with: ssh-keygen -f "/home/peter/.ssh/known_hosts" -R 10.0.0.1
Password authentication is disabled to avoid man-in-the-middle attacks.
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
ash: uptime: not found
Если ваши хосты не часто переустанавливаются, вы можете сделать это менее безопасным (но более удобным для часто меняющегося ключи хоста) с опцией -oUserKnownHostsFile=/dev/null. Это отбрасывает все принятые ключи хоста, чтобы он никогда не генерировал предупреждение.
Вы можете использовать следующую команду для добавления отпечатка пальца для сервера к вашим известным_hosts
ssh-keyscan -H <ip-address> >> ~/.ssh/known_hosts
ssh-keyscan -H <hostname> >> ~/.ssh/known_hosts
ПРИМЕЧАНИЕ. Замените & lt; ip-address> и & lt; hostname> с именем IP и dns сервера, который вы хотите добавить.
Единственная проблема заключается в том, что в конечном итоге у вас будет несколько серверов в ваших known_hosts. Это не очень много, просто упомянуть. Чтобы убедиться, что дубликатов нет, вы можете сначала удалить все серверы, выполнив следующее:
ssh-keygen -R <ip-address>
ssh-keygen -R <hostname>
. Таким образом, вы можете запустить:
for h in $SERVER_LIST; do
ip=$(dig +search +short $h)
ssh-keygen -R $h
ssh-keygen -R $ip
ssh-keyscan -H $ip >> ~/.ssh/known_hosts
ssh-keyscan -H $h >> ~/.ssh/known_hosts
done
ум при удалении только для повторного добавления, вы по существу устраняете безопасность проверки отпечатка пальца. Таким образом, вы не захотите запускать этот скрипт перед каждым исполнением вашего скрипта утилиты.
Я немного опоздал с этим ответом, но разумным способом было бы сделать ssh-keyscan на новом компьютере, прежде чем запускать сборку времени.
ssh-keyscan <newhost> >> ~/.ssh/known_hosts
Отключение проверки работоспособности для удобства звучит как плохой план, даже если вы считаете, что полностью контролируете окружающую среду.
Чтобы добавить список серверов автоматически, мы можем сделать ниже:
Добавить серверы IP в файловые серверы-список
IP-адреса должны быть добавлены в нижнем формате.
Вывод cat servers-list
123.1.2.3
124.1.2.4
123.1.2.5
Измените выше IP-адреса, заменив ваши.
Ниже команда добавит все серверы из списка.