Я использую x11vnc для подобного результата: ssh remotehost (экспорт ОТОБРАЖАЮТСЯ =:0; x11vnc - совместно использованный - навсегда-usepw-ncache 10)
Вы получаете идею. надеюсь, что это помогает.
Общедоступная/частная пара ключей должна быть создана на машине, которую Вы хотите подключить с того времени, открытый ключ должен быть скопирован в машину, с которой Вы хотите соединиться. Поскольку этот explaination позволяет, называют машину, которую Вы хотите подключить от локального и машины, которую Вы хотите подключить к удаленному.
Шаг 1 - Генерирует пару ключей на локальном
> ssh-keygen -t dsa
Эта команда создаст id_dsa и id_dsa.pub в Вашей домашней папке, т.е. ~/.ssh/id_dsa и ~/.ssh/id_dsa.pub
Шаг 2 - Добавляет открытый ключ к authorized_keys файлу на машине, с которой Вы хотите соединиться.
локальный> ssh user@remote
удаленный> vi ~/.ssh/authorized_keys
удаленный> chmod 600 ~/.ssh/authorized_keys
Необходимо теперь смочь соединиться с удаленной машиной с помощью ключа.
local> ssh user@remote
Так как это - такая общая задача, я создал сценарий оболочки для обработки ее для меня. Это создаст локальную пару ключей SSH, если она не будет уже существовать, затем скопирует его в удаленную машину.
#!/bin/bash
keytype="rsa"
while getopts "t:" opt; do
case $opt in
"t")
keytype=$OPTARG;;
esac
done
shift $(($OPTIND - 1))
if [[ $# != 1 ]]; then
echo "Usage: $0 [-t rsa|dsa] [user]@host"
exit
fi
KEYFILE=~/.ssh/id_$keytype
AUTHFILE=.ssh/authorized_keys
if [[ ! -e $KEYFILE ]]; then
echo "Creating key..."
ssh-keygen -t $keytype -f $KEYFILE
fi
if [[ -e $KEYFILE ]]; then
echo "Logging in..."
ssh $1 "[[ -d .ssh ]] || mkdir .ssh && [[ -e $AUTHFILE ]] || touch $AUTHFILE && chmod 0600 $AUTHFILE && cat - >> $AUTHFILE" < $KEYFILE.pub
fi
Последнее ssh
команда могла быть заменена ssh-copy-id
. Я не сделал этого, потому что я записал программу, прежде чем я узнал о ssh-copy-id
и это всегда работало достаточно хорошо на меня.
Когда Вы хотите использовать ssh с ключами, первой вещью, в которой Вы будете нуждаться, является ключ.
создание ключа с помощью dsa шифрование (или замена dsa rsa для шифрования RSA)
$ ssh-keygen -t dsa
При просьбе относительно "пароля" мы не введем тот. Просто нажмите Enter дважды. ssh-keygen программа теперь генерирует и Вашу общественность и Ваш закрытый ключ, по умолчанию, Ваши ключи хранятся в .ssh/каталоге в Вашем корневом каталоге. Чтобы смочь войти в систему удаленных систем с помощью пары ключей, необходимо будет сначала добавить открытый ключ на удаленном сервере в authorized_keys файл файла в .ssh/каталоге в корневом каталоге на удаленной машине.
$ cd ~/.ssh; scp id_dsa.pub username@target:./id_dsa.pub
$ ssh username@target
$ mkdir ~/.ssh; chmod 700 ~/.ssh
$ cat id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ rm -fr id_dsa.pub
Вы можете теперь ssh в учетную запись удаленных систем без использования пароля. Если не с помощью порта 22 для ssh, измените эту строку: дюйм ssh за 1$ [[-d .ssh]]... к ssh '-p 3433' дюйм за 1$ [[-d .ssh]]... (заменяют 3433 Ваш ssh идентификатор порта),
Большой сценарий!
С наилучшими пожеланиями, py