Eu tenho uma chave ssh sem uma paráfrase que permite ao usuário efetuar login em um servidor remoto.
Essa chave é usada para montar uma pasta no servidor remoto usando sshfs e fazer backup dos arquivos no meu laptop.
Gostaria que esta chave tivesse privilégios suficientes apenas para o backup. Então, como o sshfs usa o sftp, eu pensei em colocar:
command="path to sftp in the server"
no arquivo authorized_keys do servidor funcionaria.
Agora, quando eu fizer login via ssh, recebo isso:
usage: sftp [-1246Cpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
[-o ssh_option] [-P port] [-R num_requests] [-S program]
[-s subsystem | sftp_server] host
sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host
Connection to "my server's name" closed.
Acho que isso significa que essa chave só pode usar o sftp, que é o que eu queria.
No entanto, quando eu uso o sshfs, recebo o seguinte:
remote host has disconnected
O servidor é um Synology NAS DS212j com DSM 4.2 e não há programa sftp-server. O que se segue é a aparência da seção do subsistema no arquivo sshd_config:
# override default of no subsystems
#Subsystem sftp /usr/libexec/sftp-server
#Subsystem sftp internal-sftp -f DAEMON -l VERBOSE -u 000
Subsystem sftp internal-sftp -f DAEMON -u 000
#Subsystem sftp /usr/syno/sbin/sftp-server -l DEBUG3
sshfs usando uma chave sem quaisquer restrições sobre os comandos funciona bem.
Por favor avise. Existem mais comandos que eu deveria incluir na variável "command" no arquivo authorized_keys?
Agradecemos antecipadamente por qualquer ajuda fornecida.