|  | @@ -5,6 +5,8 @@
 | 
	
		
			
				|  |  |  package user
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import (
 | 
	
		
			
				|  |  | +	"strings"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	"github.com/Unknwon/com"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	"github.com/gogits/gogs/models"
 | 
	
	
		
			
				|  | @@ -171,7 +173,10 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
 | 
	
		
			
				|  |  |  			return
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		if ok, err := models.CheckPublicKeyString(form.Content); !ok {
 | 
	
		
			
				|  |  | +		// Remove newline characters from form.KeyContent
 | 
	
		
			
				|  |  | +		cleanContent := strings.Replace(form.Content, "\n", "", -1)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		if ok, err := models.CheckPublicKeyString(cleanContent); !ok {
 | 
	
		
			
				|  |  |  			ctx.Flash.Error(ctx.Tr("form.invalid_ssh_key", err.Error()))
 | 
	
		
			
				|  |  |  			ctx.Redirect("/user/settings/ssh")
 | 
	
		
			
				|  |  |  			return
 | 
	
	
		
			
				|  | @@ -180,7 +185,7 @@ func SettingsSSHKeysPost(ctx *middleware.Context, form auth.AddSSHKeyForm) {
 | 
	
		
			
				|  |  |  		k := &models.PublicKey{
 | 
	
		
			
				|  |  |  			OwnerId: ctx.User.Id,
 | 
	
		
			
				|  |  |  			Name:    form.SSHTitle,
 | 
	
		
			
				|  |  | -			Content: form.Content,
 | 
	
		
			
				|  |  | +			Content: cleanContent,
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if err := models.AddPublicKey(k); err != nil {
 | 
	
		
			
				|  |  |  			if err == models.ErrKeyAlreadyExist {
 |