nologin 사용자로 ssh를 통해 명령을 실행할 수 있습니까?


13

사용자가 loginShell=/sbin/nologin여전히 사용할 수있는 경우

ssh user@machine [command]

사용자가 홈 디렉토리에 인증에 사용할 수있는 적절한 ssh 키가 있다고 가정합니까?

내 목표는 사용자를 nologin으로 유지하지만 네트워크의 다른 컴퓨터 ( 'sudo -u'를 통한 사용과 유사)에서 명령을 실행할 수 있으며 이것이 합리적인 코스인지 궁금합니다.


1
작동해야합니다. 이 command실행되는 대신 로그인 쉘.
오리온

1
이것은 /sbin/nologin쉘로 구성하려는 목적을 상실합니다 . 계정 보안이 우려되는 경우 암호 인증을 비활성화하고 ssh 키를 사용하는 것으로 충분합니다.
Creek

@Creek 로그인 쉘과 다른 쉘 인스턴스에는 차이가 있습니다. 따라서 그가 요구하는 것이 반드시 / sbin / nologin의 목적을이기는 것은 아닙니다. 로그인 쉘 컨텍스트 외부에서 일부 작업을 수행하려고 할 수 있습니다.
Michael Martinez

7
@ 오리온 잘못. 명령은 로그인 쉘에 의해 실행 됩니다 .
Gilles 'SO- 악마 그만해'

그의 예제와 관련하여 @MichaelMartinez는 사용자의 쉘 /sbin/nologin이면 사용자가 컴퓨터에서 로그인하거나 명령을 실행할 수 없습니다. cronjobs은 사용자로 실행 가능하고 sftp세션을 열도록 구성 할 수 있지만 ssh를 통해 쉘을 열 수는 없습니다.
Creek

답변:


17

설정 /sbin/nologin(또는 사용자의 셸 /bin/false이나 /bin/true되는, 거의 상응하는 ) 어떠한 명령을 실행에 로그인에서 사용자를 금지합니다. SSH는 항상 사용자의 로그인 쉘을 호출하여 명령을 실행하므로 로그인 쉘을 일부 명령을 실행할 수있는 것으로 설정해야합니다.

사용자가 몇 가지 명령 만 실행할 수있는 몇 가지 제한된 셸이 있습니다. 예를 들어 rsshscponly에 사용자가 (같은 몇 가지 미리 정의 된 명령을 실행할 수 있도록 모두 같은 포탄입니다 scp, sftp-server, rsync, ...). 참조 리눅스에 대한 사용자 액세스를 제한 하고 마 당신은 SCP에 대한 쉘이 필요하십니까?


감사합니다. 결국 원격 명령을 실행할 수 있도록 계정에 로그인 쉘을 제공하도록 사임했습니다. 더 나은 솔루션은 아마도 현재 사용자로 ssh 였을 것이고 ssh 명령에 대해 sudo -u를 호출했을 것입니다. 그러나 그것은 내 경우에는 완전히 적용되지는 않습니다.
Centimane

1

대답은 '아니오'인 것 같습니다.

ssh user@machine [command]

ssh 키를 사용하면 다음과 같은 결과 만 나타납니다.

This account is currently not available

명령을 실행하는 대신 bash에 액세스 권한을 부여해야합니다.


-4

가능한지 여부는 알 수 없지만 (테스트하기 쉬워야 함) 특정 방법으로 질문에 대답하고 어떤 경우에도 문제를 해결하는 기능이 있습니다.

의 키 라인에 명령을 추가 할 수 있습니다 authorized_keys. 이 경우이 명령은 실행됩니다. /sbin/nologin어쨌든 쉘을 무시해야하기 때문에 이것이 작동한다고 가정 합니다.

그러나 허용하는 모든 명령마다 다른 키가 필요합니다.


불행히도 필요한 솔루션은 이보다 유연해야합니다.
Centimane

테스트하기 쉬운 경우 답변을 작성하기 전에 테스트해야합니다.
Michael Martinez

@MichaelMartinez 질문하기 전에 쉽게 테스트하는 것은 질문자의 임무입니다. 질문에 대답하지는 않았지만 문제를 일으킨 문제에 대한 제안을했다는 것을 알기는 어렵지 않습니다. 답변으로 완벽하게 적합합니다. 이것을 공감하는 것은 바보입니다. 첫 단락없이 답을 비난 했습니까? 바로 그거죠.
Hauke ​​Laging

3
in 명령 authorized_keys은 로그인 쉘에 의해 실행되므로 작동하지 않습니다 (사소한 추가 구성이 없으면). (어떻게 틀린 답을“멍청한 짓입니까?” 다른 사람들을 존중 하십시오 .)
Gilles 'SO-stop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.