Antes de chegarmos longe, minha pergunta é:
Se este for o caminho errado, ou se estou fazendo errado, qual é o caminho certo?
De acordo com este tutorial:
link
Então, vejo isso como observado no seguinte tutorial:
link
O problema é que sem um login local, não funciona. Suspeito que o autor esqueceu de sair de todos os seus usuários locais e testar a partir do controle remoto. Provavelmente tinha um tty local logado em uma tela escondida em algum lugar.
Observação: a senha de autenticação está desativada, somente com chave pública.
Da máquina remota, obtenho:
myuser@remotemachine:~$ ssh oh
Permission denied (publickey).
Verificado seguindo o procedimento de teste:
Na tela de login da GUI na máquina em questão:
[CTRL][ALT][F1]
Ubuntu 14.04.2 LTS otherhost tty1
otherhost login: myuser
Password: #######
Last login: Thu Apr ...
... etc. etc.
myuser@otherhost:~$ w
17:00:57 up 2:05, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
myuser tty1 16:40 1.00s 0.22s 0.00s w
OK para que nenhum outro usuário esteja logado. Apenas este um tty local. Então:
myuser@otherhost:~$ cd ..
myuser@otherhost:/home$ cp ~/.ssh/authorized_keys /tmp/myuser.authorized_keys
myuser@otherhost:/home$ umount.ecryptfs_private;cd $HOME
myuser@otherhost:~$ mkdir -m 700 .ssh
myuser@otherhost:~$ chmod 500 .
myuser@otherhost:~$ cat /tmp/myuser.authorized_keys > .ssh/authorized_keys
myuser@otherhost:~$ /sbin/mount.ecryptfs_private
Signature not found in user keyring
Perhaps try the interactive 'ecryptfs-mount-private'
OK, esse é o primeiro problema.
myuser@otherhost:~$ ecryptfs-mount-private
Enter your login passphrase:
Inserted auth tok with sig [XXXXXXXXXXXXXXXX] into the user session keyring
INFO: Your private directory has been mounted.
INFO: To see this change in your current shell:
cd /home/jim
myuser@otherhost:~$ ls
Access-Your-Private-Data.desktop README.txt
myuser@otherhost:~$ cd /home/jim
Verifique se ainda sou o único usuário, depois saio e troco de máquinas:
myuser@otherhost:~$ w
17:00:57 up 2:05, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
myuser tty1 16:40 1.00s 0.22s 0.00s w
myuser@otherhost:~$ exit
OK agora a partir da máquina remota sem usuários logados na caixa com diretórios pessoais criptografados:
myuser@otherhost:~$ ssh oh
Permission denied (publickey).
myuser@otherhost:~$
Aumente a verbosidade:
myuser@otherhost:~$ ssh -v oh
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to oh [192.168.1.111] port 22.
debug1: Connection established.
debug1: identity file /home/myuser/.ssh/id_rsa type 1
debug1: identity file /home/myuser/.ssh/id_rsa-cert type -1
debug1: identity file /home/myuser/.ssh/id_dsa type -1
debug1: identity file /home/myuser/.ssh/id_dsa-cert type -1
debug1: identity file /home/myuser/.ssh/id_ecdsa type -1
debug1: identity file /home/myuser/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/myuser/.ssh/id_ed25519 type -1
debug1: identity file /home/myuser/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA *********************************************
debug1: Host 'oh' is known and matches the ECDSA host key.
debug1: Found key in /home/myuser/.ssh/known_hosts:2
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/myuser/.ssh/id_dsa
debug1: Trying private key: /home/myuser/.ssh/id_*******
debug1: Trying private key: /home/myuser/.ssh/id_*******
debug1: No more authentication methods to try.
Permission denied (publickey).