У меня есть Odroid XU4 с сервером Ubuntu 14.04.
Я установил ssh-сервер с помощью apt-get install openssh-server
. Я получил локальный IP с hostname -I
, то есть 192.168.0.186
, я сгенерировал случайный номер порта: 61354
. Я создал файл /etc/ssh/authorized_keys
и добавил открытый ключ клиентского компьютера: cat /media/stick/id_rsa.pub >> /etc/ssh/authorized_keys
. После этого я переопределил файл конфигурации с помощью nano /etc/ssh/sshd_config
. Я установил его на PasswordAuthentication no
, ListenAddress 192.168.0.186
, Port 61354
, файл AuthorizedKeysFile /etc/ssh/authorized_keys
. После этого я перезагрузил машину.
Я попытался получить к нему доступ по SSH, используя ssh 192.168.0.186 -p 61354
на клиенте, но безуспешно: ssh: connect to host 192.168.0.186 port 61354: Bad file number
, который далек от подробного сообщения об ошибке. Я успешно ping 192.168.0.186
, так что IP в порядке. Как это исправить?
редактировать:
$ ssh -vvv -p 61354 192.168.0.186
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
debug1: Reading configuration data /c/Users/inf3rno/.ssh/config
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.186 [192.168.0.186] port 61354.
debug1: connect to address 192.168.0.186 port 61354: Connection refused
ssh: connect to host 192.168.0.186 port 61354: Bad file number
На сервере я попробовал ps aux | grep sshd
, согласно которому работает ssh сервер. Поэтому, вероятно, существует межсетевой экран, который не позволяет клиенту подключиться к серверу. Я не знаю, что именно находится в образе операционной системы, который я установил отсюда: http://odroid.in/ubuntu_14.04lts/ . Я пытаюсь выяснить, есть ли у меня брандмауэр или нет. (По данным форума, брандмауэр не установлен.)
Я проверил с nmap
[inf3rno@inf3rno ~]$ sudo nmap -sS 192.168.0.186 -p 61354
[sudo] password for inf3rno:
Starting Nmap 7.00 ( https://nmap.org ) at 2016-02-07 15:22 CET
Nmap scan report for 192.168.0.186
Host is up (0.0041s latency).
PORT STATE SERVICE
61354/tcp closed unknown
MAC Address: 00:1E:06:30:1E:CE (Wibrain)
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
и traceroute
traceroute to 192.168.0.186 (192.168.0.186), 30 hops max, 60 byte packets 1 192.168.0.186 (192.168.0.186) 5.833 ms 5.773 ms 8.347 ms
Я попробовал простой сервер сокетов, используя этот учебник: http://www.binarytides.com/netcat-tutorial-for-beginners/
$ nc -l -v 1234 # starting the socket server
$ telnet localhost 1234 # client connection: ok
$ telnet 192.168.0.186 1234 # client connection: refused
Так что это явно связано с сетью, и, вероятно, я должен проверить настройки модема. Я попробовал это на другой машине с Fedora с теми же результатами.
заключение
Оказалось, это связано с сетью. Скорее всего, на компьютере не установлен брандмауэр, так что это не проблема, связанная с брандмауэром. У меня то же самое на Fedora 23 установить. Я думаю, что это что-то общее в сети, и, вероятно, вызвано новым модемом, который я получил. Я пытаюсь проверить настройки модема, возможно, я нахожу корень проблемы.