Страница 1 из 1

Передача файлов от сервера к серверу стандартными средствами

Добавлено: 2010-04-12 15:10:29
krendelek007
Задача: Передать стандартными средствами FreeBSD файл с одного сервера на другой, который тоже FreeBSD. Т.к. данный метод должен будет работать через скрипт, то надо исключить ввод пароля.

Как я понял ... , чтобы исключить ввод пароля, надо использовать ключи RSA или DSA.

сервер источник” – сервер, с которого надо передать файл
сервер назначение” – сервер, на который надо передать файл

Мои действия:
1. Создаю на сервере назначения ключи RAS и DSA (находясь под логином somelogin ).

Код: Выделить всё

$ ssh-keygen –t dsa
$ ssh-keygen –t rsa
2. Получившиеся 4 файла (id_dsa, id_dsa.pub, id_rsa, id_rsa.pub) копирую на сервер источник в папку /root/.ssh

3. На сервере назначения расскомментирую в файле /etc/ssh/sshd_config следующие строки:

Код: Выделить всё

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
4. На сервере источника пишу в строке:

Код: Выделить всё

# sftp -v -oPort=4002 somelogin@192.168.222.2:/etc/make.conf
в ответ получаю:

Код: Выделить всё

Connecting to 192.168.222.2...
OpenSSH_5.1p1 FreeBSD-20080901, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 192.168.222.2 [192.168.222.2] port 4002.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_dsa type 2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2p1 FreeBSD-20090522
debug1: match: OpenSSH_5.2p1 FreeBSD-20090522 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc 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 '[192.168.222.2]:4002' is known and matches the DSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
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,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Offering public key: /root/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: keyboard-interactive
Password:
Весь конфиг файла /etc/ssh/sshd_config на сервере назначения:

Код: Выделить всё

Port 4002
Protocol 2
LoginGraceTime 2m
PermitRootLogin no

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

PasswordAuthentication yes
PermitEmptyPasswords no

AllowGroups wheel

Subsystem       sftp    /usr/libexec/sftp-server
p.s. пробовал комментировать строки PasswordAuthentication yes и PermitEmptyPasswords no - не помогло.

Вопросов аж два:
1. Что из этих операций я сделал лишнего?
2. Что я не сделал, т.е. почему он продолжает просить пароль?

Заранее спасибо за помощь.

Re: Передача файлов от сервера к серверу стандартными средст

Добавлено: 2010-04-12 16:38:48
terminus
http://www.freebsd.org/doc/en_US.ISO885 ... enssh.html

Код: Выделить всё

ssh-keygen(1) will create a public and private key pair for use in authentication. The private key is stored in ~/.ssh/id_dsa or ~/.ssh/id_rsa, whereas the public key is stored in ~/.ssh/id_dsa.pub or ~/.ssh/id_rsa.pub, respectively for DSA and RSA key types. The public key must be placed in the ~/.ssh/authorized_keys file of the remote machine for both RSA or DSA keys in order for the setup to work.

Re: Передача файлов от сервера к серверу стандартными средст

Добавлено: 2010-04-12 17:19:49
мимо проходил
krendelek007 писал(а):Задача: Передать стандартными средствами FreeBSD файл с одного сервера на другой, который тоже FreeBSD. Т.к. данный метод должен будет работать через скрипт, то надо исключить ввод пароля.

Как я понял ... , чтобы исключить ввод пароля, надо использовать ключи RSA или DSA.

сервер источник” – сервер, с которого надо передать файл
сервер назначение” – сервер, на который надо передать файл

Мои действия:
1. Создаю на сервере назначения ключи RAS и DSA (находясь под логином somelogin ).

Код: Выделить всё

$ ssh-keygen –t dsa
$ ssh-keygen –t rsa
2. Получившиеся 4 файла (id_dsa, id_dsa.pub, id_rsa, id_rsa.pub) копирую на сервер источник в папку /root/.ssh

3. На сервере назначения расскомментирую в файле /etc/ssh/sshd_config следующие строки:

Код: Выделить всё

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
4. На сервере источника пишу в строке:

Код: Выделить всё

# sftp -v -oPort=4002 somelogin@192.168.222.2:/etc/make.conf
в ответ получаю:

Код: Выделить всё

Connecting to 192.168.222.2...
OpenSSH_5.1p1 FreeBSD-20080901, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 192.168.222.2 [192.168.222.2] port 4002.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: identity file /root/.ssh/id_dsa type 2
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.2p1 FreeBSD-20090522
debug1: match: OpenSSH_5.2p1 FreeBSD-20090522 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc 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 '[192.168.222.2]:4002' is known and matches the DSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
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,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Offering public key: /root/.ssh/id_dsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: keyboard-interactive
Password:
Весь конфиг файла /etc/ssh/sshd_config на сервере назначения:

Код: Выделить всё

Port 4002
Protocol 2
LoginGraceTime 2m
PermitRootLogin no

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

PasswordAuthentication yes
PermitEmptyPasswords no

AllowGroups wheel

Subsystem       sftp    /usr/libexec/sftp-server
p.s. пробовал комментировать строки PasswordAuthentication yes и PermitEmptyPasswords no - не помогло.

Вопросов аж два:
1. Что из этих операций я сделал лишнего?
2. Что я не сделал, т.е. почему он продолжает просить пароль?

Заранее спасибо за помощь.
Почему не NFS делать?

Re: Передача файлов от сервера к серверу стандартными средст

Добавлено: 2010-04-12 21:15:56
FiL
krendelek007 писал(а): Вопросов аж два:
1. Что из этих операций я сделал лишнего?
2. Что я не сделал, т.е. почему он продолжает просить пароль?

Заранее спасибо за помощь.
1.1 генерировал ключи на сервере назначения
1.2 генерировал И RSA И DSA ключи. Хватает только одной пары
1.3 копировал и приватный и публичный ключи
2.1 не включил публичный ключ в ~/.ssh/authorized_keys

Но направление верное.

Re: Передача файлов от сервера к серверу стандартными средст

Добавлено: 2010-04-13 22:27:22
krendelek007
FiL писал(а): 1.1 генерировал ключи на сервере назначения
1.2 генерировал И RSA И DSA ключи. Хватает только одной пары
1.3 копировал и приватный и публичный ключи
2.1 не включил публичный ключ в ~/.ssh/authorized_keys

Но направление верное.
Вопрос к пункту 1.1:
А как же тогда без генерации ключа?

Re: Передача файлов от сервера к серверу стандартными средст

Добавлено: 2010-04-14 10:17:00
spf
krendelek007 писал(а):Вопрос к пункту 1.1:
А как же тогда без генерации ключа?
Генерить ключ с пустой пасфразой.