add publickey

release/v1.15
Lunny Xiao 2014-02-25 18:30:48 +08:00
parent d42c194aad
commit 52984f85d5
4 changed files with 24 additions and 9 deletions

View File

@ -47,7 +47,7 @@ func GenAuthorizedKey(keyId int64, key string) string {
return fmt.Sprintf(tmplPublicKey, appPath, keyId, key)
}
func AddPublicKey(key *PublicKey, user string) error {
func AddPublicKey(key *PublicKey) error {
_, err := orm.Insert(key)
if err != nil {
return err
@ -67,11 +67,11 @@ func AddPublicKey(key *PublicKey, user string) error {
func SaveAuthorizedKeyFile(key *PublicKey) error {
p := filepath.Join(sshPath, "authorized_keys")
f, err := os.Create(p)
f, err := os.OpenFile(p, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
if err != nil {
return err
}
os.Chmod(p, 0600)
//os.Chmod(p, 0600)
_, err = f.WriteString(GenAuthorizedKey(key.Id, key.Content))
return err
}

View File

@ -21,9 +21,16 @@ func AddPublickKey(req *http.Request, r render.Render) {
return
}
k := &models.PublicKey{}
err := models.AddPublicKey(k, "")
r.HTML(403, "status/403", map[string]interface{}{
"Title": fmt.Sprintf("%v", err),
})
k := &models.PublicKey{OwnerId: 1,
Name: req.FormValue("keyname"),
Content: req.FormValue("key_content"),
}
err := models.AddPublicKey(k)
if err != nil {
r.HTML(403, "status/403", map[string]interface{}{
"Title": fmt.Sprintf("%v", err),
})
} else {
r.HTML(200, "user/publickey_added", map[string]interface{}{})
}
}

View File

@ -1,7 +1,7 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div class="container">
<form action="/user/delete" method="post" class="form-horizontal">
<form action="/user/publickey/add" method="post" class="form-horizontal">
<div class="form-group">
<label class="col-md-4 control-label">Name of this public key: </label>
<div class="col-md-3">

View File

@ -0,0 +1,8 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div class="container">
<div class="form-group">
publickey added
</div>
</div>
{{template "base/footer" .}}