SSH-протокол для передачи файлов и папок (SCP)

И вставить в этот файл следующий код:

#!/bin/sh
ID_FILE="${HOME}/.ssh/id_rsa.pub"
if [ "-i" = "$1" ]; then
  shift
  # check if we have 2 parameters left, if so the first is the new ID file
  if [ -n "$2" ]; then
    if expr "$1" : ".*\.pub" > /dev/null ; then
      ID_FILE="$1"
    else
      ID_FILE="$1.pub"
    fi
    shift         # and this should leave $1 as the target name
  fi
else
  if [ x$SSH_AUTH_SOCK != x ] && ssh-add -L >/dev/null 2>&1; then
    GET_ID="$GET_ID ssh-add -L"
  fi
fi
if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then
  GET_ID="cat ${ID_FILE}"
fi
if [ -z "`eval $GET_ID`" ]; then
  echo "$0: ERROR: No identities found" >&2
  exit 1
fi
if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
  echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2
  exit 1
fi
{ eval "$GET_ID" ; } | ssh ${1%:} "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys" || exit 1
cat <<EOF
Now try logging into the machine, with "ssh '${1%:}'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
EOF

После набрать:
/usr/bin/ssh-copy-id -i ~/.ssh/id_dsa.pub usertwo@server2.ua

Если на удаленном сервере стоит порт на SSH не 22, а к примеру 222, то вводим команду так:

/usr/bin/ssh-copy-id -i ~/.ssh/id_dsa.pub "-p 222 usertwo@server2.ua"

Если ранее Вы не заходили с сервера на сервер, то Вас попросит разрешить подключение, набираем yes, после запросит ввести пароль для пользователя usertwo на удаленный сервер.
Если соединение прошло успешно,то после увидим следующие:

Now try logging into the machine, with "ssh 'usertwo@server2.ua'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Что и означает, что ключ успешно скопирован на удаленный сервер.
Пробуем теперь зайти по SSH на удаленный сервер командой:

ssh usertwo@server2.ua

У Вас должно появиться приветствие удаленной системы, так как у меня на удаленной системе стоит FreeBSD, то я вижу следующее:

[userone@server1 ~]$ ssh usertwo@server2.ua
Last login: Sun Nov 29 03:23:19 2009 from 192.168.0.202
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
	The Regents of the University of California.  All rights reserved.
FreeBSD 6.3-RELEASE (GENERIC) #0: Wed Jan 16 04:18:52 UTC 2008
 
$ exit
Connection to server2.ua closed.
[userone@server1 ~]$ 

Теперь мы знаем, что у нас получилось создать без парольный доступ c server1 на server2 (с server2 на server1 доступа не будет). Выходим с удаленного сервера по команде exit.



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов