Работает ssh, но не может использовать scp. Как?

319
David

У нас есть это требование, чтобы мы могли общаться друг с другом по SSH, но мы не можем копировать файлы с другого компьютера с помощью SCP.

Например, у нас есть 2 компьютера, то есть компьютеры 1 и 2. На самом деле мы можем общаться друг с другом, используя SSH (проверил его с помощью терминала, проверяя связь друг с другом, используя IP-адрес другого компьютера или наоборот). И мы также можем копировать файлы друг друга, используя SCP. Но тогда у нас было требование, чтобы computer1 НЕ мог получить файл или отправить с / на computer2. И все же можно по-прежнему пинговать друг друга, используя IP-адреса друг друга (используя терминал). И компьютер2 подобен главному компьютеру, он имеет возможность получать или отправлять файл с компьютера1, в то время как компьютер1 может отправлять эхо-запросы на компьютер2, используя IP-адрес, но не может отправлять или получать любые файлы с компьютера1.

Может ли кто-нибудь помочь нам с этим требованием? Я ищу по всему интернету и все же не могу найти решение.

И какие коды я должен использовать?

Наша тема полностью посвящена IPTABLES, но тогда я не вижу логики использования его с IPTABLES, или, может быть, я просто не знаю, как его настроить, или, может быть, вы, ребята, можете предложить другие решения?

ОПЕРАЦИОННАЯ СИСТЕМА: Linux Centos оба компьютера

Спасибо. Это было бы очень большой помощью для меня.

0
Что вы подразумеваете под "пинговать друг друга с помощью SSH"? А как насчет "computerX может делать то или это"? Я спрашиваю, потому что в контексте SSH вы скорее блокируете или предоставляете доступ * user * (идентифицированному по его логину). Также обратите внимание, что даже если вы как-то блокируете подсистемы SFTP и SCP, возможности запуска `cat` или нескольких других инструментов на удаленной стороне достаточно, чтобы получить любой файл, к которому у вас есть доступ для чтения. Пользователь, который подключается с компьютера1 к компьютеру2, должен быть очень ограничен на компьютере2, чтобы не иметь возможности получить какой-либо файл. Таким образом «уметь общаться друг с другом» следует уточнить. Пожалуйста [отредактируйте] вопрос. Kamil Maciorowski 6 лет назад 1
Я уже редактировал его сейчас для более конкретных деталей. Я объясняю здесь, что другой компьютер должен быть ограничен в получении / отправке файла с другого компьютера. Я не знаю, как настроить эту вещь. David 6 лет назад 0
SCP использует SSH, это как расширение / модуль SSH. Все сделано по SSH. То, что вы пытаетесь сделать, кажется невозможным с iptables, так как scp использует тот же порт, который использует ssh, и если вы можете заблокировать оба или ни одного. Другое решение - настройка `sshd_config`. Fanatique 6 лет назад 1
`iptables` на компьютере2 может заблокировать компьютер1 при попытке инициировать SSH-соединение с компьютером2. Это заблокирует любую такую ​​связь; вы не можете просто заблокировать SCP в одиночку, потому что SSH-соединение по умолчанию зашифровано, и вы не можете определить извне, какая подсистема используется. Так что это также лишит законной силы роль «друг друга» в «способности общаться друг с другом по SSH», что бы это ни значило. Kamil Maciorowski 6 лет назад 0
Очень мило объяснил. Что вы посоветуете, какой конфигурации мне следует использовать из моего объяснения выше? David 6 лет назад 0
Это реальная проблема или какое-то задание? Я могу придумать несколько других способов копирования файлов между удаленным компьютером и моим компьютером, если я могу использовать `ssh` без использования` scp` (например, с netcat или с tar). Таким образом, если цель состоит в том, чтобы предотвратить копирование файлов при разрешении доступа `ssh`, это будет почти невозможно - будет слишком много лазеек, чтобы подключить их все. dirkt 6 лет назад 0

1 ответ на вопрос

0
Lewis M

Я повторяю вашу потребность здесь, чтобы убедиться, что я понимаю.

Компьютер2 должен иметь возможность подключиться по ssh к компьютеру1.

Компьютер2 должен иметь возможность помещать файлы на Компьютер1 и получать файлы с Компьютера1 с помощью scp.

Computer1 не должен быть в состоянии подключиться к компьютеру ssh.

Компьютер1 не должен быть в состоянии найти компьютер2.

Если вышеупомянутое точно, то у вас есть несколько вариантов.

Одним из вариантов является использование ключей SSH. Предполагая, что один и тот же пользовательский логин используется и на Computer1, и на Computer2, создайте пару открытый / закрытый ключ для user-foo на Computer2. В качестве пользователя-foo на компьютере2 запустите команду:

ssh-copy-id Computer1 

Вам будет предложено ввести пароль пользователя foo на компьютере1. Однако, как только это будет сделано, с Computer2 пользователь foo сможет подключиться к ssh к Computer1 без запроса пароля.

Вы можете отключить аутентификацию по паролю на компьютере2, установив

PasswordAuthentication no 

в файле sshd_config компьютера2 и перезапуск службы sshd.

Другим вариантом является настройка правила брандмауэра на компьютере2, чтобы предотвратить любые ssh-соединения с компьютером1.

Надеюсь это поможет

Computer2 must be able to ssh into Computer1. Computer2 must be able to put files onto Computer1, and get files from Computer1 using scp. ***Computer1 MUST be able to ssh into Computer2.*** Computer1 must not be able to scp into Computer2. This is the right statement from all of my explanation. Can you guide me configuring this one and what configuration should i use? Thank you in advance David 6 лет назад 0
As Fanatique said, scp is built on top of ssh. And as Kamil Maciorowski said, there are multiple ways to transfer files that do not require scp. For example, if you wanted to prevent user@Computer1 from copying Computer2's /etc/passwd file by disabling scp, user@Computer1 can still run Lewis M 6 лет назад 0
sorry, didn't mean to post that soon. :) Lewis M 6 лет назад 0
Need to figure out comments. :) Anyway, user@Computer1 can run, "ssh Computer2 cat /etc/passwd >/local/copy/of/Computer2/passwd" and still get a copy of it. So, preventing scp but still allowing ssh does not seem to buy you anything. Lewis M 6 лет назад 0
Хорошо, я понял, спасибо за этот информативный ответ. Что вы можете порекомендовать для передачи файлов с ограничением с другого компьютера? David 6 лет назад 0