1

Мне нужно настроить передачу файлов, для которых я получил следующую информацию о доступе. Но я не уверен, как подключиться, едва использовав SSH раньше. Инструкции, которые я получил:

Первый: ssh user1@domain1.com, пароль: password1
затем: ssh user2@domain2.com, пароль: password2

Я на Mac. Какой клиент и настройки я должен использовать?

8 ответов8

4

Причиной того, что будет два входа, является то, что domain2.com будет скрыт за domain1.com и доступен только изнутри. Это часто делается из соображений безопасности или просто потому, что domain2.com находится в другой части сети, недоступной извне.

3

попробуйте это в окне терминала
ssh username@domain.com
он попросит ваш пароль позже
если вы не знаете, что такое терминал, найдите в центре внимания "терминал"

3

Хорошо, по-видимому, вы сказали, что первый сервер - это просто ретранслятор, поэтому давайте использовать SSH Tunnel. Вот что вы можете сделать в Терминале:

ssh -N -t -x -L 45454:domain2.com:22 user1@domain1.net

После ввода пароля вы ничего не увидите. (В качестве альтернативы: удалите -N чтобы фактически увидеть командную строку domain1.net .) И затем в Transmit, вы просите подключиться к:

Пользователь: user2

Домен (сервер): localhost

Порт: 45454

Протокол: SFTP (SSH)

Обычно это позволяет вам использовать Transmit для подключения ко второму серверу через ретранслятор первого.

Когда закончите, остановите Transmit, а затем в Терминале нажмите Ctrl-C, чтобы остановить ssh . (Или, если вы запустили ssh без параметра -N , введите Ctrl-C вместо exit .)

2

С точки зрения командной строки, вы бы сделали что-то вроде этого:

В окне терминала № 1:

$ ssh -L 2122:domain2.com:22 user1@domain1.com

введите пароль при запросе (password1). В окне терминала № 2:

$ scp -P 2122 -o HostKeyAlias=domain2.com user2@localhost:/path/to/remote/file /local/file

ввод пароля при запросе (password2).

Номер порта 2122 может быть любым (больше 1024 и ниже независимо от максимального номера порта). Номер порта 22 не должен быть изменен.

HostKeyAlias установлен так, чтобы имя хоста можно было правильно искать в файле known_hosts.

2

Это зависит от того, что вам нужно сделать на этих машинах. Обычно лучший способ - использовать командную строку. Для этого просто откройте Терминал (/Applications/Utilities/Terminal.app), где вы сможете ввести эти команды.

Если вам нужно только скопировать файлы, вы можете использовать Cyberduck или Transmit. Это FTP-клиент, но вы можете использовать режим SFTP, который будет своего рода FTP через SSH :). (Все серверы могут не поддерживать этот режим, в этом случае вам придется использовать команду scp)

1

Откройте Терминал (в папке «Программы / Утилиты») и введите команды, как указано. OS X поставляется с программой SSH.

Существуют ssh-программы с графическим интерфейсом, но вещи из командной строки, кажется, будут более подходящими для этого, так как они уже дают вам командные строки.

0

То, что вы пытаетесь сделать, это очень сложно для новичка в SSH. Некоторые из ответов здесь даже не понимают, что вы просите!

Я нашел это руководство действительно хорошим, чтобы объяснить процесс подключения через другой хост. Диаграммы действительно помогают.

0

Только если вам нужен доступ к файлам довольно часто, и рекомендуется только после того, как процедуры, использующие Cyberduck или Transmit, были успешными (чтобы убедиться, что ваши учетные данные и все в порядке):

Монтируйте ресурсы domain2.com локально, используя SSHFS с FUSE для OS X (ранее упакованный в MacFUSE, но не поддерживающий 10.6 и выше).

ssh -L -N 45454:domain2.com:22 user1@domain1.com
sshfs user2 @ localhost:/ ~/ project -oport = 45454, follow_symlinks, volname = Project

Вторую строку можно также выполнить через графический интерфейс, используя Macfusion, но затем обязательно прочтите примечания SSHFS об этом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .