O arquivo de chave pública está no meu vps e o arquivo de chave privada está no meu pc local.
/etc/ssh/sshd_config
nos meus vps:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Toda vez que posso fazer login no meu vps com private key
:
ssh root@$vps_ip
Hoje eu instalei um novo usuário para sftp:
groupadd sftp
useradd -g sftp -d /sftp -s /sbin/nologin ipcamera
mkdir -p /sftp/ipcamera/files
chmod 500 /sftp
chmod 700 /sftp/ipcamera/files
chown root:sftp /sftp/ipcamera
chown ipcamera:sftp /sftp/ipcamera/files
echo "ipcamera:w+w_w+w" | chpasswd
vim /etc/ssh/sshd_config
AllowGroups ssh sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
PasswordAuthentication yes
Para reiniciar meu sshd em vps
systemctl restart sshd
Então eu posso entrar no sftp com usuário ipcamera
e sua senha w+w_w+w
.
sftp ipcamera@$vps_ip
Coisa estranha acontece que não consigo logar no vps com o comando ssh!
ssh root@$vps_ip
Permission denied (publickey).
Por que não consigo fazer login no vps com ssh depois de adicionar um novo usuário sftp?
Estou supondo que 'root' não tem permissão para fazer login porque não é membro de nenhum grupo em AllowGroups . Você adicionou
AllowGroups ssh sftp
à configuração, mas esqueceu de adicionar 'root' ao grupo 'ssh'.Use a função "Acesso ao console" ou "Shell de resgate" do seu provedor de VPS para resolver isso.
Adicione 'root' ao grupo 'ssh'.