1. 시작하기 전에...
SSH 설정은 Archlinux 한글페이지 에서 참고하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.
SSH 포트 설정은 공유기에서 외부 포트만 막아놓아도 안전을 지킬 수 있는데, 왠만하면 외부에서는 SSH 접속을 하지 않을 것을 권합니다.
2. SSH 포트를 바꾸는 이유
내부에서만 접속하고 외부에서 접속하지 않는다면 이 설정을 할 필요는 없습니다. 하지만 외부에서 SSH를 꼭 접속해야 한다면 공유기에 해당 ip를 포트포워딩 하게 됩니다. 그리고 이 상황에서 SSH 포트는 nmap 같은 포트 스캔너에 의해 스캔을 당하고 보안위협에 노출될 수 있습니다. 다음은 원문입니다.
Even though the port ssh is running on could be detected by using a port-scanner like nmap, changing it will reduce the number of log entries caused by automated authentication attempts
SSH를 외부에서 접속할 때 포트를 바꾸려면 다음 두 가지 설정을 변경하고 공유기에서 해당 포트를 포트포워딩 해야 합니다.(2-2. 공유기 DDNS 및 포트포워딩 방법 ) 그런데 위의 참고 페이지에는 openssh를 설치해야 하는데, 포고 s4의 Archlinux에서는 설치하지 않아도 설정할 수 있습니다. 기본적으로 설치되어 있습니다.
2-1. 우선 openssh를 설치합니다.
(포고s4에는 설치하지 않아도 설정이 됩니다. 이 단계는 건너뛰어도 됩니다.)
pacman -S openssh
2-2. SSH 클라이언트 설정에서 포트와 나머지 정보를 바꿉니다.
nano /etc/ssh/ssh_config
# $OpenBSD: ssh_config,v 1.25 2009/02/17 01:28:32 djm Exp $
...쭈~욱 나오고
Host *
...
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
Port 888 fff- # 주석을 지우고 원하는 포트 숫자를 씁니다. 예) 777, 999
Protocol 2 - # 주석을 지우고 '2, 1'을 2로 고칩니다. protocol 1은 불안정하다고 합니다.
# Cipher 3des
SSH데몬 설정에서 포트를 바꿉니다.
nano /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.87 2012/07/10 02:19:15 djm Exp $
...쭈~욱 나오고
# default value.
Port 888 - #주석을 지우고 원하는 포트 숫자를 입력합니다.
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# The default requires explicit activation of protocol 1
Protocol 2 - #주석을 지우고 숫자를 2로 고칩니다.
hosts.allow , hosts.deny 설정은 포고s4용 archlinux에는 없는 파일이기 때문에 설정하지 않습니다. 잘못 만들어서 설정하면 ssh에 접속이 안되는 일이 발생합니다. (지금 이 글을 쓰는 현재 제가 실수한 사항입니다.ㅎㅎㅎ)
2-4. 설정 후 시스템을 다시 시작합니다.
systemctl restart sshd
2-5. ssh접속 프로그램에서 바꾼 포트 숫자를 기입합니다.
예제) 아이피 : 192.168.156.44 포트 : 888
보너스 (비밀번호를 분실하지 않았다는 전제하에)
SSH 비밀번호 변경
passwd
samba(smbd) 비밀번호 변경
smbpasswd -a root
mysql 비밀번호 변경
mysql -u root mysql -p 후
update user set password=password('root비밀번호') where user='root'; 입력
트랜스미션 비밀번호 변경
systemctl stop transmission
nano /var/lib/transmission/.config/transmission-daemon/settings.json
"rpc-password": "새로운 비밀번호 넣기",
SSH 설정은 Archlinux 한글페이지 에서 참고하였습니다. 이 문서는 포고플러그 시리즈 4에 Archlinux, nginx, php, mysql이 설치되었을 때를 기준으로 설명합니다.
SSH 포트 설정은 공유기에서 외부 포트만 막아놓아도 안전을 지킬 수 있는데, 왠만하면 외부에서는 SSH 접속을 하지 않을 것을 권합니다.
2. SSH 포트를 바꾸는 이유
내부에서만 접속하고 외부에서 접속하지 않는다면 이 설정을 할 필요는 없습니다. 하지만 외부에서 SSH를 꼭 접속해야 한다면 공유기에 해당 ip를 포트포워딩 하게 됩니다. 그리고 이 상황에서 SSH 포트는 nmap 같은 포트 스캔너에 의해 스캔을 당하고 보안위협에 노출될 수 있습니다. 다음은 원문입니다.
Even though the port ssh is running on could be detected by using a port-scanner like nmap, changing it will reduce the number of log entries caused by automated authentication attempts
SSH를 외부에서 접속할 때 포트를 바꾸려면 다음 두 가지 설정을 변경하고 공유기에서 해당 포트를 포트포워딩 해야 합니다.(2-2. 공유기 DDNS 및 포트포워딩 방법 ) 그런데 위의 참고 페이지에는 openssh를 설치해야 하는데, 포고 s4의 Archlinux에서는 설치하지 않아도 설정할 수 있습니다. 기본적으로 설치되어 있습니다.
2-1. 우선 openssh를 설치합니다.
(포고s4에는 설치하지 않아도 설정이 됩니다. 이 단계는 건너뛰어도 됩니다.)
pacman -S openssh
2-2. SSH 클라이언트 설정에서 포트와 나머지 정보를 바꿉니다.
nano /etc/ssh/ssh_config
# $OpenBSD: ssh_config,v 1.25 2009/02/17 01:28:32 djm Exp $
...쭈~욱 나오고
Host *
...
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
Port 888 fff- # 주석을 지우고 원하는 포트 숫자를 씁니다. 예) 777, 999
Protocol 2 - # 주석을 지우고 '2, 1'을 2로 고칩니다. protocol 1은 불안정하다고 합니다.
# Cipher 3des
SSH데몬 설정에서 포트를 바꿉니다.
nano /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.87 2012/07/10 02:19:15 djm Exp $
...쭈~욱 나오고
# default value.
Port 888 - #주석을 지우고 원하는 포트 숫자를 입력합니다.
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# The default requires explicit activation of protocol 1
Protocol 2 - #주석을 지우고 숫자를 2로 고칩니다.
hosts.allow , hosts.deny 설정은 포고s4용 archlinux에는 없는 파일이기 때문에 설정하지 않습니다. 잘못 만들어서 설정하면 ssh에 접속이 안되는 일이 발생합니다. (지금 이 글을 쓰는 현재 제가 실수한 사항입니다.ㅎㅎㅎ)
2-4. 설정 후 시스템을 다시 시작합니다.
systemctl restart sshd
2-5. ssh접속 프로그램에서 바꾼 포트 숫자를 기입합니다.
예제) 아이피 : 192.168.156.44 포트 : 888
보너스 (비밀번호를 분실하지 않았다는 전제하에)
SSH 비밀번호 변경
passwd
samba(smbd) 비밀번호 변경
smbpasswd -a root
mysql 비밀번호 변경
mysql -u root mysql -p 후
update user set password=password('root비밀번호') where user='root'; 입력
트랜스미션 비밀번호 변경
systemctl stop transmission
nano /var/lib/transmission/.config/transmission-daemon/settings.json
"rpc-password": "새로운 비밀번호 넣기",