[2018-05-31][Ubuntu] 우분투에 ssh 공개키 그리고 비밀번호 로그인 설정

telnet turtle·2022년 8월 9일
0

발단

서버에 우분투를 깔고 쓰기 시작했을때, 난 putty로 접속해서 쓰고자 했다. 그런데 이리저리 시도하는데 자꾸 접속이 안된다.
서버엔 ip주소가 할당되어 있었고 나는 리눅스는 make 몇번 돌려본게 경험의 전부였다.

어찌저찌 서버에 ssh 공개키를 집어넣고, root 계정으로 접속하는거에 성공했다. 난 여기서 추가로 비밀번호로 접속하기, 그리고
root 말고 다른 계정으로 접속하기까지 원했는데, 또 안되더라. 하지만 어쨌든 원격접속이 가능해지니 나중으로 미뤘다.
일단 컴퓨터가 돌아가기는 하잖아. 접속도 할수있고

몇달 뒤 귀찮아서 미뤄둔걸 해결했다.

결론

쓸 건 세 가지다.

  1. ssh로 root에 접속하기
  2. 다른 계정에 접속하기
  3. 비밀번호로 접속하기

ssh로 root에 접속하기

/etc/ssh/sshd_config을 열면

Port 22 포트 설정

PermitRootLogin yes yes면 루트 접속 가능, no면 불가능

뭔가 많은 삽질을 했었지만 기억이 나지않는다. 이정도 하고 파일을 저장한다. 이제 공개키를

$ pubkey >> $HOME/.ssh/authorized_keys

로 준비시킨다. 참고로 > 는 기존 파일을 덮어써버리는 리디렉션이고 >> 는 뒤에 추가하는 리디렉션이더라.

$ service sshd restart

로 ssh 데몬을 재시작하자.

다른 계정에 접속하기

리눅스를 처음(은 아니지만 처음만큼이나 정신없이) 쓰느라 잊고 있었는데

$HOME/.ssh/authorized_keys

은 당연히 계정마다 각각 다르다. 따라서

$ su anotheruser

로 anotheruser로 로그인한 다음, 다시한번

$ pubkey >> $HOME/.ssh/authorized_keys

해서 공개키를 넣어주자. 또

$ service sshd restart

해줘야 다음 로그인에 접속이 가능할 것 같다.

비밀번호로 접속하기

/etc/ssh/sshd_config을 열어서

PasswordAuthentication yes yes로 바꾼다.

정말 이게 끝인가? 난 비밀번호로 로그인이 안되어서 꼬박 하루동안 붙잡고 있었는데?

?

하지만 저걸 no로 바꾸고 putty에서 pubkey를 지우니

---------------------------
PuTTY Fatal Error
---------------------------
Disconnected: No supported authentication methods available (server sent: publickey)
---------------------------
확인   
---------------------------

라고 하고, yes로 하니 비밀번호 접속이 되니까, 맞을거다.

그럼 왜 전엔 안됐을까?

기타

구글링을 해보니 이런(http://linux.systemv.pe.kr/opensshd-7-0에서-바뀐점/) 글을 읽을 수 있었다.
OpenSSHD 7.0 부턴 root에 패스워드 인증이 차단된다고 한다.

글쓴이는 root로 로그인을 하려 하니 패스워드 입력 프롬프트가 나왔지만, 아무리 쳐도 안된다고 했다.
나도 그랬다. 맞게 입력해도 Access denied 가 나왔다.

$ sshd -V
unknown option -- V
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g  1 Mar 2016

당시 나는 root 만 시도해보고 anotheruser로는 비밀번호를 쓸 생각을 못 했을수도 있겠다.
몇달전 나는 putty도 갖고있고 ip address도 갖고있는데 어떻게 ssh로 접속하지? 도 몰랐었다.

Host Name (or IP address)에 anotheruser@127.0.0.1 혹은 127.0.0.1, Port에 22 같은 식으로 적고, Connection type에서 SSH로 접속할 수 있다.

그리고 /etc/ssh/sshd_config 파일 수정이 제대로 안되면

sudo vim /etc/ssh/sshd_config

로 열어보자. 난 갑자기 vim에서 처음 보는 에러 'readonly' option is set (add ! to override) 를 뿜어서 당황했다.
지금 보니까 유저에게 write 권한이 없어보인다.

profile
프론트엔드 엔지니어

0개의 댓글