특정 사용자에 대해 SSH MOTD/배너 비활성화

특정 사용자에 대해 SSH MOTD/배너 비활성화

/bin/에코를 반환하고 존재하는 사용자 정의 셸이 있습니다 . 해당 셸에만 연결된 사용자가 있으므로 누군가가 pubkey를 통해 해당 사용자만 사용하여 서버에 ssh를 시도하면 사용자 지정 셸이 무언가를 에코하고 즉시 종료됩니다(에코 직후 ssh 연결을 닫습니다).

문제는 작동 중이지만 인증 후에는 기본 Ubuntu MOTD/배너가 표시되고 에코를 다시 원한다는 것입니다.

예상되는

local@sever:~$ ssh honeypot@remote-server
Welcome 1.2.3.4 | you've been logged
Connection to remote-server closed.
local@server:~$

뭐가 문제 야

local@sever:~$ ssh honeypot@remote-server
Welcome to Ubuntu 16.04.x LTS (GNU/Linux x.x.x-xxx-generic x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud

6 packages can be updated.
0 updates are security updates.

New release '18.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


*** System restart required ***
Last login: Thu Oct 2 01:08:16 2017 from 1.2.3.4
Welcome 1.2.3.4 | you've been logged
Connection to remote-server closed.
local@server:~$

참고: 다른 모든 사용자에 대해 MOTD/Banner를 비활성화하고 싶지 않으며 Match User honeypot Banner nonesshd를 시도했지만 작동하지 않습니다. 또한 /etc/profilewhoami를 사용하여 사용자를 확인하는 방법도 시도해 보았습니다.

편집: 해결 방법을 찾아 답변으로 게시했지만 여전히 적절한 답변을 찾고 있습니다.

답변1

로그인 메시지는 여러 곳에서 올 수 있습니다. 구성된 경우 SSH 배너가 먼저 표시된 다음 /etc/motd텍스트 파일의 내용(관리자가 만들고 유지 관리하는 텍스트 파일이거나 스크립트에 의해 주기적으로 생성될 수 있음)이 표시됩니다. 나는 우분투가 다른 접근 방식을 사용한다고 생각합니다. man motd아마도 영감을 얻었을 것입니다...).

마지막으로 사용자의 쉘 ​​rc 파일은 직접 또는 다른 유틸리티를 호출하여 추가 메시지를 표시할 수 있습니다.

구성된 경우 Banner none구성 파일에서 SSH 배너를 설정하여 전역적으로 비활성화할 수 있습니다. 또는 더 세부적인 제어를 위해 다음과 같은 것을 사용할 수 있습니다.

Match User honeypot
    Banner none

두 경우 모두 sshd변경 사항을 적용하려면 재부팅하십시오.

/etc/motd개별 사용자를 표시하지 않으려면 해당 사용자의 홈 디렉토리에 .라는 파일을 만듭니다. 이 파일이 있으면 프로그램은 .hushlogin로그인 쉘을 시작할 때까지 login내용을 표시하지 않습니다 . /etc/motd사용자가 로그인하여 터미널을 얻을 수 있으면 파일을 마음대로 삭제할 수 있습니다.

답변2

해결책

local@sever:~$ ssh honeypot@remote-server <*>
Welcome 1.2.3.4 | you've been logged
local@server:~$

<*>: 말 그대로 모든 명령, 단어 또는 숫자입니다.

관련 정보