Local: Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V: OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V: SSHFS version 2.4
FUSE library version: 2.9.0
fusermount version: 2.9.0
using FUSE kernel interface version 7.18
Remote: Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 (kernel@kernel.ovh.net) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V: OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012
Estou tentando configurar uma montagem sem senha de um servidor remoto usando sshfs e fusível. O servidor remoto está sendo executado em uma porta não padrão e eu usarei um par de chaves ssh para autenticar.
Quando for bem-sucedido, repetirei isso para mais três servidores remotos, cada um com chaves diferentes, para que eu precise especificar quais mapas de chave para qual servidor remoto.
Baseei minhas modificações neste tutorial
- A chave pública está no controle remoto: allowed_keys
- Eu adicionei meu usuário local ao
fuse
grupo. - Editei meu local
~/.ssh/config
para ter (por servidor):
`
Host [server_ip]
Port = [port]
IdentityFile = "~/.ssh/[private_key]"
User = "[user]"
`
Sempre que tento montar o servidor remoto localmente, sou solicitada a senha do usuário remoto (não a senha da minha chave privada). O usuário remoto tem uma senha longa gerada aleatoriamente que eu gostaria de não precisar salvar ou lembrar e, portanto, o segredo é como eu quero fazer isso.
Posso conectar-me através do ssh (combinado com o ~/.ssh/config
arquivo) usando o comando, ssh [ip]
para que eu saiba que o arquivo de configuração pode ser lido corretamente, pois me pedem a senha da minha chave e não o usuário remoto.
Para tentar me conectar ao servidor remoto, preciso especificar manualmente os detalhes completos da conexão no comando: `sshfs [user] @ [ip]: [remote_path] [local_path] -p [port]
O que eu tentei até agora:
- ssh-add / path / to / key (adição bem-sucedida)
- Especificando
PreferredAuthentication = publickey
em ~ / .ssh / config - sshfs -o IdentityFile = / caminho / para / usuário-chave @ ip: / / my / mnt / dir
- usuário sshfs @ ip: / / my / mnt / dir -o IdentityFile = / path / to / key
- renomeação temporária da chave para o padrão de
id_rsa
- sshfs -F ~ / .ssh / config
Existe um arquivo de configuração local ou remoto que estou ignorando? Alguma opção ou opção que eu preciso incluir na chamada para sshfs (tentei -F) para forçá-lo a ler e usar minha configuração de ssh?
Saída de ssh -v -p [port] [user]@[remote_ip]
OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 de maio de 2012 debug1: Lendo dados de configuração /home/[meunette/.ssh/config debug1: /home/[meunette/.ssh/config linha 2: Aplicando opções para [remote_ip] debug1: /home/[meunette/.ssh/config linha 24: Aplicando opções para * debug1: Lendo dados de configuração / etc / ssh / ssh_config debug1: / etc / ssh / ssh_config linha 19: Aplicando opções para * debug1: Conectando-se à [remote_ip] [[remote_ip]] port [port]. debug1: conexão estabelecida. debug1: arquivo de identidade /home/[meunette/.ssh/[private_key] tipo 2 debug1: Verificando o arquivo da lista negra /usr/share/ssh/blacklist.DSA-1024 debug1: Verificando o arquivo da lista negra /etc/ssh/blacklist.DSA-1024 debug1: arquivo de identidade /home/[meunette/.ssh/[private_keyunette-cert type -1 debug1: Protocolo remoto versão 2.0, versão de software remoto OpenSSH_5.9p1 Debian-5ubuntu1.1 debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 * debug1: Ativando o modo de compatibilidade para o protocolo 2.0 debug1: Versão local string SSH-2.0-OpenSSH_6.1p1 Debian-4 debug1: SSH2_MSG_KEXINIT enviado debug1: SSH2_MSG_KEXINIT recebido debug1: kex: server-> client aes128-ctr hmac-md5 zlib@openssh.com debug1: kex: client-> server aes128-ctr hmac-md5 zlib@openssh.com debug1: enviando SSH2_MSG_KEX_ECDH_INIT debug1: esperando SSH2_MSG_KEX_ECDH_REPLY debug1: Chave do host do servidor: [key] debug1: verificando sem identificador de porta debug1: O host '[remote_ip]' é conhecido e corresponde à chave do host ECDSA. debug1: chave encontrada em /home/[meunette/.ssh/known_hosts:7 debug1: chave correspondente encontrada sem porta debug1: ssh_ecdsa_verify: assinatura correta debug1: SSH2_MSG_NEWKEYS enviado debug1: esperando SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS recebido debug1: Roaming não permitido pelo servidor debug1: SSH2_MSG_SERVICE_REQUEST enviado debug1: SSH2_MSG_SERVICE_ACCEPT recebido debug1: autenticações que podem continuar: publickey, password debug1: Próximo método de autenticação: publickey debug1: oferecendo a chave pública do DSA: /home/[meunette/.ssh/[private_key] debug1: O servidor aceita a chave: pkalg ssh-dss blen 433 debug1: Ativando a compactação no nível 6. debug1: autenticação bem-sucedida (chave pública). Autenticado em [remote_ip] ([[remote_ip]]: [port]). debug1: canal 0: novo [sessão do cliente] debug1: Solicitando no-more-sessions@openssh.com debug1: Entrando na sessão interativa. debug1: Enviando ambiente. debug1: Env env env LANG = pt_BR.UTF-8 debug1: Env Env env LC_CTYPE = en_GB.UTF-8 Bem-vindo ao Ubuntu 12.04.3 LTS (GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_64)
Edit:
Encontrei o problema. Eu estava tentando montar o local remoto em / mnt / new_dir usando o sudo. Se eu montar em um local dentro da minha casa local, ele funcionará. sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
.
Eu já fiz um sudo chown root:fuse /mnt/new_dir
e sudo chmod 774 /mnt/new_dir
acredito que tudo está funcionando como pretendido.
Há algum problema de segurança com essa configuração que eu precise estar ciente? (Meu próprio usuário e raiz são os únicos membros do fuse
grupo.
-o ssh_command='ssh -v'
comando só trava e não mostra nada
sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount
. Posso configurar meu usuário para que ele tenha as permissões necessárias para montar em / mnt, para que outros usuários possam usar os recursos remotos?