Per # 4, вы редактируете нужный файл? Файл ~ / .ssh / config
, который нужно изменить, находится на клиенте (обычно там, где находится клавиатура).
Что касается №2 (и 3), помните, что ForwardX11Trusted не подразумевает ForwardX11 . ForwardX11Trusted просто означает, что если вы включите пересылку (через файл конфигурации или командную строку), то переадресованное соединение будет доверенным.
HTH.
Я не уверен, что мне нравится формулировка Штеффена Ульриха по этой теме. Сокеты, естественно, сложны, потому что они представляют собой обобщенный интерфейс, который можно использовать для ряда очень разных протоколов (. См. примечание 1 ).
Для обобщения различных протоколов интерфейс сокетов идентифицирует общие черты различных протоколов.:
Протоколы SOCK _STREAM обычно сильно отличаются от протоколов SOCK _DGRAM. Но внутри каждой из этих групп протоколы не так сильно различаются.
Протоколы, ориентированные на соединение, всегда (? )пара сокетов с данными, передаваемыми между ними в одиночном соединении.Протоколы подключения обычно также поддерживают некоторую форму «слушающего» сокета, единственной целью которого является ожидание новых запросов на подключение.
Думайте о розетках, ориентированных на соединение, как о двух телефонах с линией между ними.
Вызов connect()
и accept()
приводит к созданию нового соединения с двумя связанными сокетами (, по одному на каждой стороне соединения ).
Протоколы, ориентированные на дейтаграммы, очень разные. Сокеты можно настроить так, чтобы они действовали как почтовые ящики, получая сообщения откуда угодно. Там нет требования иметь подключение. В случае UDP любой пакет, отправленный с на правильный IP-адрес и порт с , любой IP-адрес и порт будут подхвачены одним и тем же сокетом. Таким образом, вы можете вести разговоры с несколькими разными компьютерами через одну и ту же розетку.
Для сокетов SOCK _DGRAM используется специальное значение для connect()
.
If the socket sockfd is of type SOCK_DGRAM, then addr is the address to which datagrams are sent by default, and the only address from which datagrams are received.
Это не создает новое уникальное соединение. Он просто ограничивает, какие сообщения будут получены этим сокетом, а НЕ сокетом на другой стороне.
Функция sendto()
позволяет программе отправить сообщение и указать адрес для его отправки.
Они бывают двух видов (SOCK _STREAM и SOCK _DGRAM )так же, как интернет-сокеты (TCP и UDP ). Итак, для сокетов UNIX SOCK _STREAM, да, у них есть только одно соединение между парой сокетов. Но сокеты UNIX SOCK _DGRAM отличаются (точно так же, как UDP отличается от TCP ).
Примечание 1 :Сокеты Unix выглядят странно, потому что не существует основного протокола как такового,они являются конструкцией ядра. Ядро может использовать собственные индексные дескрипторы сокетов в качестве механизма адресов. Как указывает mosvy, это может привести к странному поведению, когда вы пытаетесь определить адрес сокета unix.