롯사 by IT feedback안녕하세요 롯사입니다. 이번 포스팅은 리눅스 서버에 원격 접속할 때 사용하는 명령어에 대해서 알아보겠습니다. 기본적으로 네트워크 통신에 제약이 없는 로컬 pc에서 접속 툴을 이용해서도 접속이 가능하고 리눅스 터미널 환경에서 다른 리눅스 서버로도 접속이 가능합니다. 이 시간에 다룰 내용은 리눅스 터미널 환경에서 다른 리눅스 서버로 접속하는 부분에 대해서 먼저 다루어보겠습니다. what is ssh? 보안적으로 취약했던 기존 rsh, rlogin, telnet 등을 대체하기 위해 설계되었고 ( Secure shell )의 약자입니다. 기본 22번 port를 사용해서 네트워크로 연결돼 다른 리눅스 서버로 접속할 때 사용하는 프로토콜로써 기본 암호화 방식을 지원하고 중간에 암호를 해킹을 당해도 원본을 알 수 없고 강력한 인증 방식을 지원하기 때문에 보안적으로 우수한 프로토콜이라고 할 수 있겠습니다. ssh 서버 실행 파일 : /etc/sbin/sshd ssh 클라이언트 실행 파일 : /etc/bin/ssh 그럼 본론으로 들어가서 사용방법에 대해서 알아보겠습니다. 1. openssh-server 설치 * rpm -qa | grep sshd* ( ssh 설치 확인 ) 전 이미 설치가 되어있습니다. * yum install openssh-server ( ssh 설치 ) 이미 설치가 되어있지만 편의를 위해서 진행했습니다. * systemctl enable sshd ( 재부팅 후 자동등록 ) * systemctl start sshd ( 서비스 시작 ) * systemctl status sshd ( 서비스 상태 확인 ) * ps -ef | grep sshd ( 프로세스 상태 확인 ) 다음과 같이 서비스 시작과 상태를 확인합니다. 정상적으로 잘 동작하고 있네요. 2. /etc/ssh/sshd_config 설정 및 확인 ( ssh 접속 시 규칙을 정의합니다 ) * vi /etc/ssh/sshd_config vi/vim /etc/ssh/sshd_config 파일을 편집기로 열어서 필요한 부분만 정책에 맞게 수정해줍니다. #Port 22 : ssh 기본 접속 port는 22번입니다. 임의의 port 번호를 지정해서 사용하고 계신 환경이라면 번호 지정 후에 주석을 해제합니다. #ListenAddress 0.0.0.0 : 기본 default 값은 주석이 처리되어 있어서 정책이 동작하지 않지만 주석을 해제하고 특정 ip를 지정하면 해당하는 ip에서만 접속이 허용됩니다. HostKey /etc/ssh/ssh_host_rsa_key
ECDSA_KEY 암호화 방식을 사용합니다. #PermitRootLogin no : root 계정으로 원격 접속 시 허용 여부를 정의합니다. 허용하려면 주석을 해제하고 no --> yes로 바꿔 주시면 root로 접속이 허용됩니다. 보안상 리스크가 있기 때문에 권장드리지는 않습니다. * systemctl restart sshd ( ssh 서비스 재시작 ) 위의 설정 파일의 내용을 변경하였다면 ssh 서비스 재시작을 해줍니다. 3. 방화벽 설정 * firewall-cmd --zone=public --add-port=22/tcp --permanent ( centos 7 이상 ) firewall-cmd --permanent --zone=public --add-port=22/tcp ( 위와 동일 ) firewall-cmd --reload * iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT ( iptables ) centos 7 이상 환경에서 방화벽 (firewalld)와 iptables를 운영하고 계신다면 필수적으로 22번 port를 허용해줍니다. 4. ssh 접속 ( 원격지 접속 ) * ssh [사용자 계정]@[원격지 ip] ssh exit 다음과 같은 형식으로 192.168.159.129 원격지 서버에 접속을 할 수 있습니다. 해당 서버의 password를 입력하고 접속이 성공하게 되면 원격 호스트의 쉘을 사용하게 됩니다. exit를 누르고 logout 하면 원래의 쉘로 돌아오게 됩니다. *~. ssh/know_hosts (홈 디렉터리의. sss/known_hosts) 위와 같이 한번 원격 접속이 이루어지고 나면 사용자 홈 디렉터리의. ssh/know_hosts 파일에 원격지(192.168.159.129) 접속에 필요한 키 값이 생성되게 됩니다. 특정 옵션을 제외하고 많이 사용하지는 않지만 ssh 접속 시 사용하는 옵션도 한번 체크해 보시고 넘어가시기 바랍니다.
ex ) ssh [원격 계정]@[원격지_ip] -p [변경할 포트] ( 포트 변경 시 지정해서 접속 ) ssh [원격 계정]@[원격지_ip] netstat -ntl ( 원격 접속 후 바로 수행할 명령문 입력도 가능합니다.) 이만 포스팅을 마치겠습니다. 모두 열공하세요 ^^ |