forked from ProjectSegfault/publapi
base64 isn't needed for ssh key
This commit is contained in:
parent
992a11d35f
commit
a4435a2247
@ -21,4 +21,4 @@ Currently, PublAPI has only two routes, /online and /signup.
|
||||
| ROUTE | TYPE | EXTRA ARGS | DESCRIPTION |
|
||||
|---------|------|-----------------|------------------------------------|
|
||||
| /online | GET | N/A | Returns the number of online users |
|
||||
| /signup | POST | username, email, ssh | Creates a register script and notifies admins that a new registration request was sent. Note: SSH Key must be sent in base64 form |
|
||||
| /signup | POST | username, email, ssh | Creates a register script and notifies admins that a new registration request was sent.|
|
||||
|
@ -20,12 +20,6 @@ func SignupPage(c *fiber.Ctx) error {
|
||||
log.Error("username, email and ssh must be filled", username, email, ssh)
|
||||
return c.SendStatus(fiber.StatusBadRequest)
|
||||
}
|
||||
sshke, err := base64.StdEncoding.DecodeString(ssh)
|
||||
sshkey := string(sshke)
|
||||
if err != nil {
|
||||
log.Error("unable to decode base64 ssh key")
|
||||
return c.SendStatus(fiber.StatusBadRequest)
|
||||
}
|
||||
|
||||
// create user file
|
||||
f, err := os.Create("/var/publapi/users/" + username + ".sh")
|
||||
@ -42,7 +36,7 @@ func SignupPage(c *fiber.Ctx) error {
|
||||
"useradd -Um -s /bin/bash " + username + "\n" +
|
||||
"printf \"%s\\n%s\" \"${pass}\" \"${pass}\" | passwd " + username + "\n" +
|
||||
"mkdir /home/" + username + "/.ssh\n" +
|
||||
"echo '" + sshkey + "' > /home/" + username + "/.ssh/authorized_keys\n" +
|
||||
"echo '" + ssh + "' > /home/" + username + "/.ssh/authorized_keys\n" +
|
||||
"chmod 700 /home/" + username + "/.ssh\n" +
|
||||
"chmod 600 /home/" + username + "/.ssh/authorized_keys\n" +
|
||||
"chown -R " + username + ":" + username + " /home/" + username + "/.ssh\n" +
|
||||
|
Loading…
Reference in New Issue
Block a user