Version 3 (modified by rudo.ba, on Nov 17, 2010 at 5:43:22 PM) (diff) |
---|
Table of Contents
Pomocník pre Cyberduc / Ako na to? / SFTP
Pripojenia SFTP
Ak máte prístup k serveru pomocou secure shell (SSH2), s najväčšou pravdepodobnosťou je tiež nainštalovaný a skonfigurovaný sftp-server, môžete sa pripojiť využitím SFTP.
Konfigurácia interoperability OpenSSH
The following configuration options from ~/.ssh/config are supported for SFTP connections:
- IdentityFile for public key authentication.
- HostName aliases.
- User preference for login credentials.
Host keys are checked against and written to ~/ssh/known_hosts when accepted.
A bookmark will update its public key authentication setting from the IdentityFile configuration in ~/.ssh/config. Also when opening a new connection using File → Open Connection…, IdentityFile and User parameters in the OpenSSH user config file are auto completed.
Príklad konfigurácie:
Host myhostname User myusername IdentityFile ~/.ssh/mykey-rsa
Contrary to OpenSSH, we do not use the keys named ~/.ssh/identity, ~/.ssh/id_rsa or ~/.ssh/id_dsa by default.
Autentifikácia verejným kľúčom
Public-key authentication allows you to connect to a remote server without sending your password over the Internet. Public-key authentication uses two keys, a private key that only you have--it should be kept in a secure place and protected with a password. And the public key, which is placed on the server you wish to gain access to, usually by the system administrator when your account is set up. Private keys containing a DSA or RSA private key in PEM format are supported (look for -----BEGIN DSA PRIVATE KEY----- or -----BEGIN RSA PRIVATE KEY----- in the file) and can be configured in the Bookmark or Connection panel.
Ako nakonfigurovať autentifikáciu verejným kľúčom?
- Run the command ssh-keygen from the Terminal.app to generate a public/private pair of keys. They will be put in your directory ~/.ssh, though you will probably be asked to approve or change this location. When you generate the keys you will be asked for a 'passphrase'. If you use a passphrase then you will have to enter it each time you use the keys for authentication. That is, you will have to type in the pass phrase everytime you log in, just as you would with a password. If you don't enter a passphrase (just press the return key) then you will be allowed to log-in without having to enter a passphrase. This can be more convenient, but it is less secure.
jungle:~/.ssh dkocher$ ssh-keygen -t rsa
- Copy the public key to the remote host you wish to access and add it to the file authorized_keys in your ~/.ssh directory. (If that file does not exist then you should create it.) Anybody listed in the authorized_keys file (via their public key) is allowed to log-in, provided that they can prove that they possess the corresponding private key. Thus if you have the private key in your .ssh directory on your home machine you'll be allowed in.
jungle:~/.ssh dkocher$ ssh hostname < id_rsa.pub 'cat >> .ssh/authorized_keys'
- In the Connection Dialog or the Bookmark editor in Cyberduck select Use Public Key Authentication and select the private key in your .ssh directory.
Jednorazové heslá
Je podporované použitie autentifikácie typu výzva-odozva s generátormi jednorazových hesiel ako SecurID. Po prvom prihlasovacom dialógu pre používateľa a heslo sa zobrazí ďalší – pre zadanie jednorazového hesla.
Použitie SCP pre prenos súborov
Pre vyššiu priepustnosť prenosov súborov možno namiesto SFTP zvoliť použitie SCP. Predvolené nastavenie možno zmeniť v predvoľbách.
Otvorenie v aplikácii Terminal
Pomocou ponuky Zobrazenie → Upraviť riadok nástrojov… možno do prehliadača pridať ikonu Terminal.app. Táto umožňuje jedným kliknutím otvoriť SSH shell pre platný pracovný priečinok.
Úprava príkazu SSH
Príkaz SSH možno upraviť pomocou skrytej konfiguračnej voľby
defaults write ch.sudo.cyberduck terminal.command.ssh \"ssh\ -t\ {0}\ {1}@{2}\ -p\ {3}\ \\\"cd\ {4}\ \&\&\ exec\ \\\\\$SHELL\\\"\"
kde
- {0} je -i <path to the private key>
- {1} je používateľ z prihlasovacích údajov
- {2} je meno hostiteľa
- {3} je číslo portu vzdialeného hostiteľa
- {4} je platný pracovný priečinok v prehliadači
Because of all the escaping of characters, it might be easier to edit the key using Property List Editor if you have the developer tools installed. You can then set the string for the key terminal.command.ssh to ssh -t {0} {1}@{2} -p {3} "cd {4} && exec \$SHELL". Test the string in Terminal.app first if it is valid.
Použitie aplikácie iTerm
Pomocou skrytej konfiguračnej voľby možno namiesto Terminal.app nastaviť použitie terminálovej aplikácie tretej strany.
Príklad pre iTerm:
defaults write ch.sudo.cyberduck terminal.bundle.identifier net.sourceforge.iTerm defaults write ch.sudo.cyberduck terminal.command \"make\ new\ terminal\\ntell\ the\ first\ terminal\\nlaunch\ session\ \\\"Default\ Session\\\"\\ntell\ the\ last\ session\\nwrite\ text\ \\\"{0}\\\"\\nend\ tell\\nend\ tell\"
Ak chcete obnoviť predvolené nastavenia, použite:
defaults delete ch.sudo.cyberduck terminal.bundle.identifier defaults delete ch.sudo.cyberduck terminal.command
Vzdialené príkazy
Pre podrobnosti o možnosti zasielania vlastných príkazov cez SSH viď stránku o vlastných príkazoch prehliadača.
Problémy
Illegal sftp packet len
The error message Illegal sftp packet len may indicate you have an echo statement in your shell init script like .bashrc. Make sure it does not output any text.