Этот простой код. Не удалось найти документацию, но добивается цели приятно:
#include <linux/fs.h>
...
ioctl(file, BLKGETSIZE64, &file_size_in_bytes);
Вы, кажется, неправильно поняли что-то. SSHD является ssh демоном, это не каталог или файл, Вы не можете изменить его на /usr/NX/home/nx/.ssh/authorized_keys
и связанное учебное руководство не предлагает, чтобы Вы сделали.
authorized_keys
содержит ключи, используемые для проверки идентификационных данных пользователя, когда пользователь пытается соединиться с сервером (благодарит @goldilocks, и также см. ответ @Gilles' здесь).
Это объяснено вполне приятно в страницах справочника, попробовать man sshd
:
sshd (OpenSSH Daemon) is the daemon program for ssh(1). Together these
programs replace rlogin(1) and rsh(1), and provide secure encrypted com‐
munications between two untrusted hosts over an insecure network.
AuthorizedKeysFile specifies the files containing public keys for public
key authentication; if none is specified, the default is
~/.ssh/authorized_keys and ~/.ssh/authorized_keys2.
Учебное руководство говорит Вам, что необходимо настроить sshd NX правильно и сказать его, где найти authorized_keys файл. В примере они настроили два таких файла, /usr/NX/home/nx/.ssh/authorized_keys
и /usr/NX/home/nx/.ssh/authorized_keys2
.
Сервер NX работает как преданный пользователь и выполняет свою собственную аутентификацию. Вы соединяетесь с сервером NX по SSH, затем Вы проходите проверку подлинности с сервером NX, чтобы создать или соединиться с сессией NX, работающей как локальная учетная запись.
У пользователя NX есть его собственный набор авторизованных ключей SSH, так как Вы соединяетесь с ним по SSH. Это необычно: это редко к службам доступа по SSH. Обычно Вы только соединяетесь с учетными записями реальных пользователей по SSH.
Каждая учетная запись, с которой Вы соединяетесь по SSH с ключевой аутентификацией, имеет свое собственное ~/.ssh/authorized_keys
файл. Аутентификационные ключи пользователя SSH не настроены с демоном SSH, они настроены в каждой учетной записи. При запрете очень необычных установок существует единственный файл для этого. По причинам обратной совместимости можно назвать файл ~/.ssh/authorized_keys2
вместо ~/.ssh/authorized_keys
. Местоположение может также быть настроено в конфигурации сервера путем изменения AuthorizedKeysFile
.
Я понятия не имею, что Вы подразумеваете “под точкой SSHD к каталогу NX” (sshd, не что-то, на что можно “указать”), или где Вы видите соединение с NFS.
/etc/ssh/sshd_config
С этой строкой: AuthorizedKeysfIle /usr/NX/home/nx/.ssh/authorized_keys /usr/NX/home/nx/.ssh/authorized_keys2
ищет authorized_keys не в пользователе ~/.ssh
каталог, но в /usr/NX...
для authorized_keys файла.
– xtian
17.09.2013, 16:39
sshd "This server's certificate has changed"
== "не соответствовал никаким документам", таким образом, необходимо будет разъясниться... Цельauthorized_keys
находится в Вашемman
кавычка при учете его, является файлом, исследованным на сервере, не на клиенте. Вот то, как это работает: клиент отправляет его открытый ключ на сервер в попытке установить соединение как конкретный пользователь. Удаленный sshd проверяет указанного (локального) пользователяauthorized_keys
видеть, находится ли ключ в списке. Это - список клиентских ключей, которые могут соединиться с этим сервером (следовательно "басовый-ackwards" ;) – goldilocks 17.09.2013, 04:45known_hosts
файл, мое плохое. В моей защите это - 3:56 здесь :). Спасибо за разъяснение отредактирован ответ. – terdon♦ 17.09.2013, 04:57/etc/ssh/sshd_config
к местоположениюauthorized_keys
файл.authorized_keys2
файл, по-видимому, удерживается от использования между прочим. – terdon♦ 17.09.2013, 19:39