Необходимо использовать туннель ssh, (клиенты: openssh на смокинге, шпаклюйте на победе),
Туннель перенаправит Ваш локальный порт, скажет 3128 к Вашему сквиду (так localhost:3128 на Вашем удаленном сквиде хостинга машины)
Так, лично я использую:
ssh -N -f -L3128:localhost:3128 example.com
- N не выполняют удаленную команду. Это полезно для просто портов пересылки (только версия протокола 2).
- f Запросы ssh для движения в фон непосредственно перед выполнением команды.
- L: Порт 3128 туннелирован на exemple.com к localhost:3128
Используя шпаклевку можно сделать то же, просто следовать инструкциям, найденным тут же: http://www.google.com/search?q=putty+tunnel+ssh
Вы будете, добрался, снимки экрана каждого ступает с объяснениями, необходимо видеть:
L3128 localhost:3128 на Вашем окне Tunnels в Вашей шпаклевке, если у Вас есть прокси на Вашем удаленном поле, затем просто настраивает Ваш браузер для использования прокси в localhost:3128
Другая возможность состоит в том, чтобы использовать-D (Динамичный) так, чтобы иметь
D1080 на Вашем окне Tunnels в шпаклевке, это работает как сервер Носков, поэтому настраивают Ваш браузер для использования сервера носков на localhost:1080, у этого не должно быть прокси, работающего на удаленном сервере, таким образом, это - мой фаворит!
Всякий раз, когда возникает проблема ssh'ing на сервер, всегда лучше добавить флаг -v
, например
$ ssh -v host -l user
В обоих вышеупомянутых случаях открытый ключ ( id_rsa.pub
) должен быть добавлен в файл «.ssh / authorized_keys удаленного пользователя». В вашем случае выше как root, так и user1. Это легко сделать с помощью команды ssh-copy-id .
/ var / log / secure
будет содержать подсказки относительно того, почему вход не был успешным.
Разрешения каталога должны быть 700 [rwx] (не 600) [rw -]
Некоторое время назад я столкнулся с аналогичной проблемой, попробуйте выполнить
chmod -R 600 ~/.ssh
По-видимому, если права доступа к файлам правильные, но разрешения на каталог не совпадают, может возникнуть ошибка разрешений.
Я тоже считаю, что нужно переименовать файл из id_rsa.pub в authorized_keys.
Некоторые примечания: Поскольку вы специально отключили аутентификацию по паролю, вы не можете войти с паролем. Я считаю, что вам нужно настроить разрешенных пользователей с некоторыми другими (Match User, возможно, лучший способ двигаться вперед). Кроме того, вам необходимо специально разрешить пользователю root (PermitRootLogin установит для него значение yes).
Я столкнулся с этой проблемой, когда попытался войти в учетную запись, у которой нет пароля, хотя я использую аутентификацию по паре ключей SSH и пароль для входа в систему отключен. Решением было установить пароль с помощью моей учетной записи root:
passwd user1
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Было бы разумно предоставить нам дополнительную информацию о настройках в / etc / ssh / sshd_config
, в частности StrictModes
( grep StrictModes / etc / ssh / sshd_config
). StrictModes
- это параметр, который определяет, насколько чувствительно sshd
реагирует на права доступа к файлам и папкам каждого пользователя соответственно ~ / .ssh
и ~ / .ssh. / авторизованные_ключи
.
Вы также не предоставили нам настройку AuthorizedKeysFile
в вашем sshd_config
. Очень актуально, если ваш SSH-сервер ищет файл где-то еще, чем вы его поместили.
Но помимо ответов на данный момент, для этого может быть множество причин. Проблема в том, что даже несмотря на то, что вы пытались, информации недостаточно, чтобы точно догадаться, что не так.
Еще одна вещь может быть ограничением PAM ( UsePAM
в sshd_config
). Раньше это было в Ubuntu. Если для учетной записи пользователя не установлен пароль (аутентификация только с открытым ключом), он не будет разрешен.
Но позвольте мне дать вам общий метод для отладки таких проблем.
sshd
В таких случаях я считаю очень полезным запускать sshd
, не позволяя ему демонизировать («перейти в фоновый режим и отсоединиться от терминала»). Часто журналы не слишком полезны, особенно когда у вас есть ошибка конфигурации (что, по крайней мере, не является очевидным случаем).
Вы запускаете его с терминала следующим образом:
# $(which sshd) -Ddp 10222
Это даст вам много вывода отладки, который иначе не появился бы (без -d
) или попал в журналы, если вам повезет.
NB: the $ (which sshd)
- лучший способ удовлетворить требование sshd
об абсолютном пути. В противном случае вы получите следующую ошибку: sshd re-exec требует выполнения с абсолютным путем
. -p 10222
заставляет sshd
прослушивать этот альтернативный порт, переопределяя файл конфигурации - так, чтобы он не конфликтовал с потенциально запущенными экземплярами sshd
. Не забудьте выбрать здесь свободный порт.
Этот метод много раз помогал мне в обнаружении проблем, будь то проблемы с аутентификацией, проблемы с производительностью или другие типы проблем. Чтобы получить действительно подробный вывод в stdout
, используйте $ (which sshd) -Ddddp 10222
(обратите внимание на добавленный dd
для увеличения подробности). Для дополнительной проверки исправности отладки man sshd
.
На стороне клиента ssh
может принимать -v
(до -vvv
) чтобы быть действительно подробным о том, что он делает.
Строка журнала
... ubuntu sshd[8476]: User root not allowed because account is locked
намекает на то, что проблема, поэтому запустите:
sudo passwd -u root
В CentOS selinux может блокировать аутентификацию. Для решения проблемы используйте команду:
restorecon -Rv ~ /. ssh