SSH ChrootDirectory no Mac OS X Lion (não na edição do Server)

3

Estou tentando configurar uma conta de usuário somente remota no meu MacBook Pro que é chrooted para /chroot/tmux . Eu segui os passos descritos aqui ( link ) , mas quando tento fazer login com (na minha rede local):

ssh [email protected]

... Eu recebo uma conexão imediata fechada:

❯ ssh [email protected]                                                                                                        
Password:
Connection to 10.0.1.140 closed by remote host.
Connection to 10.0.1.140 closed.

A remoção dessa linha em /etc/sshd_config permite que eu faça o login, mas meu usuário tmux não é mais chrooted:

Match User tmux
  # ...
  ChrootDirectory /chroot/tmux # removing this allows me to login

O que preciso fazer para que isso funcione?

Isso é o que recebo após o prompt de senha quando tento fazer o login do cliente com ssh -vv [email protected] :

debug2: input_userauth_info_req 
debug2: input_userauth_info_req: num_prompts 0 
debug1: Authentication succeeded (keyboard-interactive). 
Authenticated to 10.0.1.140 ([10.0.1.140]:22). 
debug1: channel 0: new [client-session] 
debug2: channel 0: send open 
debug1: Requesting [email protected] 
debug1: Entering interactive session. 
debug1: channel 0: free: client-session, nchannels 1 
Connection to 10.0.1.140 closed by remote host.
Connection to 10.0.1.140 closed.
Transferred: sent 1872, received 1880 bytes, in 0.0 seconds
Bytes per second: sent 100689.1, received 101119.4
debug1: Exit status -1

Incentivadoramente, o Console do Mac relata isso:

6/15/12 9:57:42.679 AM sshd: fatal: bad ownership or modes for chroot directory "/chroot/tmux"

Minhas permissões de diretório atuais:

~ ❯ ls -al /chroot/tmux                                                                                                                      
total 8
drwxr-xr-x  7 tmux  wheel  238 Jun 14 11:18 .
drwxr-xr-x  3 root  wheel  102 Jun 14 10:34 ..
    
por neezer 14.06.2012 / 20:17

1 resposta

1

O problema aqui é a propriedade e as permissões no diretório / chroot / tmux.

A página de manual do SSHD declara:

ChrootDirectory

         Specifies the pathname of a directory to chroot(2) to after
         authentication.  All components of the pathname must be root-
         owned directories that are not writable by any other user or
         group.  After the chroot, sshd(8) changes the working directory
         to the user's home directory.

Eu acredito que o caminho específico dado ao ChrootDirectory (no seu caso / home / tmux) deve ser root: root e no máximo 755 permissões, parece que seu diretório é de propriedade do 'tmux'.

Observe também que o comando ChrootDirectory funciona melhor com SFTP, que não requer um shell específico, se você estiver tentando executar sessões de linha de comando SSH interativas (e um shell) desse diretório, precisará para adicionar alguns arquivos ao chroot primeiro, como descrito no manpage sshd_config:

The ChrootDirectory must contain the necessary files and directo-ries to support the user's session. For an interactive session this requires at least a shell, typically sh(1), and basic /dev nodes such as null(4), zero(4), stdin(4), stdout(4), stderr(4), arandom(4) and tty(4) devices. For file transfer sessions using ''sftp'', no additional configuration of the environment is nec-essary if the in-process sftp server is used, though sessions which use logging do require /dev/log inside the chroot directory (see sftp-server(8) for details).

    
por 19.06.2012 / 13:03

Tags