우분투에는 기본적으로 ssh 서버가 설치되어 있지 않다. 따라서, 대부분 설치를 해야하는데, 먼저 dpkg 명령어를 통해 openssh-server 패키지가 설치되어 있는지 확인한다.
$ dpkg -l | grep openssh-server |
아무것도 나오지 않는다. ssh 서버가 설치되어 있지 않기 때문이다. 업데이트와 함께 ssh를 설치해보자.
$ apt-get update -y && apt-get install openssh-server -y
설치가 끝나면 잘 설치되었는지 확인해본다. $ dpkg -l |
grep openssh-server |
아까와는 다르게 openssh-server 패키지가 나온다. 잘 설치가 된 것이다. 하지만 root 계정 접속은 기본적으로 차단되어 있기 때문에 이를 허용해줘야 한다. ssh 설정 파일을 수정해주면 된다.
$ vim /etc/ssh/sshd_config
여기서 #PermitRootLogin prohibit-password 라고 되어 있는 부분을 PermitRootLogin yes 로 바꿔주고 저장한다. 또한 Port 부분이 있는데, default는 22번이지만 다른 포트번호를 사용하고 싶으면 #을 제거하고 Port 2222 이런식으로 해주면 된다. 그 다음 root가 접속할 수 있게끔 비밀번호를 설정해준다.
$ passwd root
그 다음 ssh 서버를 시작한다.
$ service ssh start 또는 $service ssh restart
이제 root로 접속해보자.
CentOS에는 기본적으로 ssh 서버가 설치된다. 그래도 Ubuntu처럼 먼저 openssh-server 패키지가 설치되어 있는지 확인해보자.
$ rpm -qa openssh-server
필자의 경우 Docker Container이기 때문에 ssh가 없었다. 또한 CentOS에 여러 설정으로 인해 설치가 안되어있을 수 있기 때문에 설치가 되어있지 않다고 가정하고 진행해보겠다. 업데이트와 함께 ssh를 설치해보자.
$ yum update -y && yum install openssh-server openssh-clients openssh-askpass -y
다 설치됐으면 잘 설치되었는지 확인해보자.
$ rpm -qa openssh-server
CentOS는 이렇게 해주면 된다. start 대신 restart를 해줘도 된다.
※ 참고 : Ubuntu 컨테이너와 다르게 CentOS 컨테이너는 systemctl start sshd를 하면
이렇게 된다. 이건 Docker Container에 대한 문제이므로 여기서는 다루지 않겠다. Docker Container가 아니고 일반 서버라면 systemctl이 잘 동작할 것이다.
참고 사이트 :