Você precisa dobrar as barras invertidas conforme elas são interpretadas pelo shell:
ssh [email protected] cmd /c dir "\\XX.XX.XX.XX\DavWWWRoot\Shared Documents\AllDocuments\ImpDocuments"
Aqui está a minha situação. Eu tenho uma caixa de servidor do Windows e uma caixa de Linux. No meu servidor Windows, tenho o SharePoint instalado e consegui acessar o diretório compartilhado por meio da linha de comando do Windows, executando um comando dir
e também capaz de mapear o diretório compartilhado para uma unidade de rede, ambos localmente.
dir "\XX.XX.XX.XX\DavWWWRoot\Shared Documents\AllDocuments\ImpDocuments"
O problema surge quando tento acessar o mesmo de uma caixa do Linux sobre o ssh.
ssh -v [email protected] cmd /c dir "\\XX.XX.XX.XX\DavWWWRoot\Shared Documents\AllDocuments\ImpDocuments"
Erro: Access Denied.
Idéias, por favor!
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config'
debug1: Applying options for *
debug1: Connecting to XX.XX.XX.XX [XX.XX.XX.XX] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version VShell_4_0_1_478 VShell
debug1: no match: VShell_4_0_1_478 VShell
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'XX.XX.XX.XX' is known and matches the DSA host key.
debug1: Found key in /root/.ssh/known_hosts:10
debug1: ssh_dss_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric host address
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric host address
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
Cannot determine realm for numeric host address
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,gssapi-with-mic
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password
[email protected]'s password:
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending command: cmd /c dir \\XX>XX.XX.XX\DavWWWRoot\Shared Documents\AllDocuments\ImpDocuments
Access is denied.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 1824, received 1920 bytes, in 17.4 seconds
Bytes per second: sent 104.8, received 110.3
debug1: Exit status 1
Você precisa dobrar as barras invertidas conforme elas são interpretadas pelo shell:
ssh [email protected] cmd /c dir "\\XX.XX.XX.XX\DavWWWRoot\Shared Documents\AllDocuments\ImpDocuments"
Você precisará montar o sistema de arquivos de destino no sistema Linux antes de acessá-lo.
mount -t cifs -o username=user1,password=abc123 //XX.XX.XX.XX/share /mnt/share
Em seguida, você pode usar ls ou outros utilitários para visualizar e / ou editar arquivos.
ls /mnt/share/file
Assumindo que funciona, você pode adicionar a montagem ao arquivo / etc / fstab do sistema Linux para montar automaticamente na inicialização.
Poderia ser um erro de digitação no comando que você executou?
debug1: Sending command: cmd /c dir \\XX>XX.XX.XX\DavWWWRoot\Shared...
^
Se não for isso, tentarei citar o comando windows para que o ssh o veja como uma única string. Você pode ter que mexer em duplicar ou não duplicar as barras invertidas:
ssh -v [email protected] 'cmd /c dir "\\XX.XX.XX.XX\[etc]\ImpDocuments"'
Se isso ainda não funcionar, tente fazer uma conexão SSH interativa com o servidor Windows e, em seguida, tente executar o comando dir
nessa sessão. É possível que o servidor SSH do Windows não esteja configurando sua sessão corretamente e você não tenha acesso à rede quando chegar dessa maneira.