it-swarm-eu.dev

Vytvořte nového uživatele SSH na serveru Ubuntu

Právě jsem vytvořil nový virtuální server Ubuntu a já jsem v procesu jeho zpevňování pro výrobní účely. V současné době mám účet root. Chci udělat následující:

  • Vytvořte nového uživatele (zbytek se nazývá jim). Chci, aby měli /home/ adresář.
  • Poskytněte jim SSH přístup.
  • Umožněte uživatelům jim to su root, ale ne provádějte operace Sudo.
  • Vypněte přístup kořenového SSH.
  • Přesuňte SSHd na nestandardní port, abyste zabránili brutálním útokům.

Můj problém spočívá v prvních dvou položkách. Už jsem našel useradd, ale z nějakého důvodu se nemohu přihlásit jako uživatel vytvořený pomocí SSH. Musím porazit SSHd, aby to bylo možné?

117
Oli

Upravit (jako root) /etc/ssh/sshd_config. Připojte k tomu následující:

Port 1234
PermitRootLogin no
AllowUsers jim

Port 1234 způsobí, že SSH poslouchá na portu 1234. Můžete použít jakýkoli nepoužitý port od 1 do 65535. Doporučujeme zvolit privilegovaný port (port 1-1024), který může používat pouze root. Pokud váš démon SSH z nějakého důvodu přestane fungovat, nepoctivá aplikace nemůže připojení zachytit.

PermitRootLogin zakáže přímé přihlášení root.

AllowUsers jim umožňuje uživateli jim přihlásit se přes SSH. Pokud se nemusíte přihlásit odkudkoli, můžete to učinit bezpečnějším omezením na IP adresu (nahraďte 1.2.3.4 svou skutečnou IP adresou):

AllowUsers [email protected]

Změny konfiguračního souboru /etc/ssh/sshd_config nejsou okamžitě aplikovány, pro načtení konfigurace spusťte:

Sudo service ssh reload
102
Lekensteyn

SSH je velmi vybíravý ohledně adresářových a souborových oprávnění. Ujistit se, že:

  1. Adresář /home/username/.ssh má oprávnění "700" a je vlastněn uživatelem (nikoli root!)
  2. / Home/uživatelské jméno/ssh/autorizované_keys má oprávnění "600" a je vlastněn uživatelem

Zkopírujte svůj veřejný klíč do souboru autorizované_keys.

Sudo chown -R username:username /home/username/.ssh
Sudo chmod 0700 /home/username/.ssh
Sudo chmod 0600 /home/username/.ssh/authorized_keys

Existuje NO potřeba přidat uživatele do/etc/ssh/ssh_config.

106
dh1tw

V /var/log/auth.log proč SSH (nebo PAM) odmítá pokus o přihlášení. Další stopy lze najít pomocí -v volba s klientem ssh. Několik běžných situací, některé zmíněné v dalších odpovědích:

  • uživatelskému účtu chybí heslo nebo je jinak zakázáno (viz man passwd, zkuste resetovat heslo nebo zkontrolovat obsah /etc/shadow).
  • /etc/ssh/sshd_config je nakonfigurováno tak, aby zakázalo přihlášení (DenyUsers, AllowUsers, PasswordAuthentication, PubkeyAuthentication, UsePAM atd., viz man sshd_config).
  • shell uživatele není uveden v /etc/shells.
  • různé problémy s povolením adresářů nebo souborů souvisejících s operací SSH: /etc/ssh, /home/jim/.ssh, /home/jim/.ssh/*, atd.

Také bych doporučil použít adduser (místo seradd) pro přidání nových uživatelů; je trochu přátelštější ohledně různých výchozích nastavení účtu.

Dokud uživatel nebude součástí skupiny admin, nebude moci Sudo rootovat. Aby mohli používat s, budete muset nastavit root heslo (passwd root), po kterém doporučuji nastavení PermitRootLogin=no v /etc/ssh/sshd_config.

13
Kees Cook

Mohl bych se mýlit, ale vždy se musím nainstalovat serverového démona, než se mohu připojit (alespoň na ploše) ssh je ve výchozím nastavení nainstalován, ale to je jen klient

tento příkaz nainstaluje server

Sudo apt-get install openssh-server

Port můžete změnit a zastavit přihlášení root

/etc/ssh/sshd_config

To však vyžaduje restart služby.

Sudo service ssh restart

11
Matt Mootz

Jim nebude mít přístup SSH, dokud nenastavíte heslo. Jako root vykonat:

grep -i "jim" /etc/shadow | awk -F':' '{ print $2 }'

Pokud tento příkaz vrátí znak „!“ znak je pak pro tento účet zakázán. Provádění passwd jim jako root vás vyzve k zadání nového a potvrzeného řetězce hesel, po kterém by měl příkaz grep vrátit hashovaný řetězec představující heslo pro nich.

Také se ujistěte, že jim má přihlašovací prostředí, nastavené ve výchozím nastavení a domovský adresář, který existuje.

Vezměte prosím na vědomí příspěvek lekensteyn o změnách nastavení serveru SSH.

9
Tok

V mém případě jsem měl skupinu, která měla povolený přístup a uživatel nebyl součástí. To mě vyřešilo.

Použití výše uvedeného příkladu s uživatelem jim a předpokládat člena skupiny jim, protože je to pouze skupina (příkaz groups, při přihlášení jako jim vyhledejte skupiny jste součástí). V mém /etc/ssh/sshd_config soubor, který jsem měl AllowGroups sshusers položka, a proto je třeba přidat jim do skupiny sshusers. Níže je uvedeno, jak by toho bylo dosaženo:

usermod -a -G sshusers jim

Vyměňte skupinu a uživatele podle vaší konfigurace.

4
Joshua Fricke

@ Lekensteyn Nemohu zanechat komentář k odpovědi na otázku, protože nemám pověst - ale pokusil jsem se připojit

AllowUsers existingUser,newUser

do mého/etc/ssh/sshd_config souboru a nyní už nemůžu ssh s mojím existujícímUživatelem nebo novýmUživatelem.

0
ptjetty

Mohou nastat případy, že je PasswordAuthentication ve výchozím nastavení zakázáno.

Laskavě zkontrolujte /etc/ssh/sshd_config a zajistěte, aby byl atribut PasswordAuthentication nastaven na yes.

0
Aldee