프로덕션 서버 SSH 로그인에 연결할 때 사용자에게 경고


1

우분투 14.4를 실행하는 3 개의 AWS 환경이 있습니다. 나는 모든 서버에 대한 루트 액세스 권한을 가지고 있습니다. 한 번은 Ctrl + R과 인스턴스 이름이 유사하여 인스턴스를 준비하는 대신 라이브 인스턴스에 로그인하여 중요한 데이터를 삭제했습니다. 다행히 백업이 있었으므로 즉시 복구 할 수있었습니다.

앞으로 이것을 방지하고 싶습니다. 라이브 시스템에 로그인하려고 할 때 예 / 아니요 메시지를 표시 할 수있는 방법이 있습니까? 배너를 사용할 수 있지만 클라이언트 측 확인이 가장 효과적이라는 것을 알고 있습니다.

라이브 시스템에 연결할 때마다 경고를 받도록 다른 제안으로도 괜찮습니다.


1
먼저 루트가 아니라 sudo 액세스 권한이 있어야합니다. 두 번째 쉬운-프로덕션 서버에서 터미널의 배경색을 빨간색으로 변경하거나 promt 색을 변경하십시오 (root와 일반 사용자를 구별하는 경우 bashrc에서 할 수 있습니다-다색)
— Drako

1
@Drako 감사합니다. SSH 로그인은 루트 사용자가 아닌 우분투 사용자로 시작되므로 첫 번째 사항이 적용됩니다. 루트 사용자 ssh 로그인은 허용되지 않습니다.
— bitkot

여전히 동일합니다. SSH를 사용하여 해당 서버에서 작업하는 일반 사용자가 있습니까? 아니? 서버에 대해 전체적으로 변경하십시오. 메시지를 표시하거나 ssh 로그인에 선행 배너를 포함하기 위해 사용자 구성에 항목을 포함시킬 수도 있습니다.
— 세스

답변:


1

이를 달성하는 흥미로운 방법 중 하나는 2 개의 ssh 키를 사용하는 것입니다. 하나는 프로덕션 서버용이고 다른 하나는 비 프로덕션 용입니다.

프로덕션 제품은 저장 되지 않은 암호로 암호화되어 있어야합니다 . 원하는 경우 다른 서버를 암호화 할 수 있지만, 그렇지 않은 경우 프로덕션 서버를 사용하고 있다는 것이 명확 해집니다. 키를 사용하려면 먼저 키를 해독해야하기 때문입니다.

최신 버전의 SSH에서 사용할 수있는 또 다른 '트릭'은 두 가지 형식의 인증이 필요하므로 키와 암호가 필요합니다. 프로덕션 서버에서만 사용할 수 있습니다.

이것은 sshd.conf에서 이루어집니다

AuthenticationMethods "publickey,password" "publickey,keyboard-interactive"

그래도 프롬프트 색상 변경에 대한 Drako의 권장 사항을 따릅니다. 로그인 한 사람과 내가 어느 서버에 있는지 한눈에 알 수 있도록 관리하는 서버에서이 작업을 수행합니다.


1
암호 문구로 키 페어를 갖는 것이 나에게 가장 적합한 옵션이라고 생각합니다.
— bitkot

0

bashrc의 끝에 어딘가에 이것을 시도하십시오 (내 rhel에서 작동하지만 우분투에서도 작동 할 수 있습니다 (테스트 할 곳이 없음)).

RED="\[\033[40;0;31m\]"
GREEN="\[\033[40;0;32m\]"
CLEAR="\[\033[0m\]"
if [ $(id -u) -eq 0 ];
then
    PS1="$RED\u@\h: \W \$$CLEAR "
else
    PS1="$GREEN\u@\h: \W \$$CLEAR "
fi

이것은 루트에 대한 빨간색과 사용자에 대한 녹색의 프롬프트를 차별화합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.