프로덕션 서버 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.