-
[리눅스] SSH(Secure Shell)서버/리눅스 2017. 4. 27. 19:45
SSH (Secure Shell)
port : 22
데이터 전송시 평문을 암호화해서 전송한다.
모든 암호설정 및 방화벽이 설정되어있기에 설치후 설정을 안건들여도 문제되지 않는다.
(telnet은 데이터전송시 평문그대로 보내기에 위험하다)
관련 모듈
server
openssh-server.x86_64
client
Server-설정파일( /etc/ssh/sshd_config )
#>vi /etc/ssh/sshd_config
17 #Port 22
19 #ListenAddress 0.0.0.0
23 #Protocol 2
43 SyslogFacility AUTHPRIV
49 #PermitRootLogin yes
52 #MaxSessions 10
59 AuthorizedKeysFile .ssh/authorized_keys
17 #Port 22 기본으로 제공되는 포트 22 ( default값으로 변경가능 )
>> 포트를 바꾸면 클라이언트는 -p 옵션을 이용해 접속해야 한다.
19 #ListenAddress 0.0.0.0 #ipv6를 위한서비스
23 #Protocol 2 : ver2로만 접속한다. 암호화 방식이 다르다.
version 1 Hybrid-Cryptography
version 2 Diffie-Hellman
43 SyslogFacility AUTHPRIV
AUTH 사용자 인증에 관련한 메세지
AUTHPRIV 사용자 인증 절차에 관련한 메세지
49 #PermitRootLogin yes : root사용자 로그인 설정 ( default값으로 변경가능 )
51 #MaxAuthTries 6 : 접속당 최대 인증 시도 횟수 ( 반이 넘어가면 log가 기록되기 시작한다. )
52 #MaxSessions 10 : 세션갯수 ( SSH 접속가능한 갯수 설정 )
59 AuthorizedKeysFile ss/authorized_keys : 공개키, 비밀키에 대한파일
client 접속 ( openssh-clients.x86_64 )
windowshell program
putty
리눅스
#>yum install -y openshh-client.x86_64SSH가 기본으로 깔려있길레 그냥 접속한다.
#>ssh <user>@<server_ip>
Are you sure you want to countinue connecting ( y/n )? yes #이질의는 다음로그인에 증명하게 허락해달라.
pwd ?
.......서버 통신.....
위와같이 서버로 접속하면 서버의 ip대역이 뜬다.
#SSH 역할
scp ( secure copy )
원격연결 > 서버데이터를 복사 > 클라이언트에 붙여넣기 > 연결까지 해제 역할#>scp <src_path> <dst_path>#>scp admin01@100.100.100.128:/home/admin01/file1 /root/file.cp
src : <user>@<server_ip>:path
dst : (client) Path
이떄 admin01은 계정이므로 파일과 디렉터리들의 권한이 로그인하려는 사용자에 부여되어 있어야한다.
반대로 쓰면 클라이언트 파일을 서버에 복사하는 것도 가능하다.
#>scp root/file.cp admin01@100.100.100.128:/home/admin01/file1sftp( sercure ftp )
ftp서비스가 아닌 파일 암호화 전송 프로토콜이다. ( ssh기반이므로 22번 포트이다. )#>sftp <user_name>@<server_ip>#>sftpd admin01@100.100.100.130
사용은 ftp와 비슷하게 할 수 있으며 다른점은 22번포트(ssh)로 동작하며 보안설정이 되어있다는 접이다.
요즘 나오는 ftp클라이언트 서비스는 sftp-server접속서비스를 제공한다.
Key
명령어를 사용하면 public, private key 두 개가 만들어진다.- puublic key ( 공개키 ) : 웹브라우저 자동로그인 같은거
- private Key ( 비밀키 ) : 내가 가지고있는 비교할 키
client#>ssh-keygen[RSA] 암호와 인증 방식으로
첫번째 enter : default path로 key값을 저장하겠다.
2,3번째 enter : 암호인증을 하나 더 추가한다.
/root/디렉터리에 .ssh 디렉터리 생성
id_rsa : private key file
id_rsa.pub : public key file
#키배포 >
client : root > server : admin01 ( 키등록 ) 효과 : 패스워드 인증없이 로그인 가능
생성된 id_rsa.pub file을 server의 사용자 홈디렉터리로 이동한다.
#>scp /root/.ssh/id_rsa.pub admin01@100.100.100.128:/home/admin01/id_rsa.pub#키등록
서버가 등록( /etc/ssh/sshd_config 디렉터리 )의 옵션 59번쨰에 보이는 파일에 등록시켜야 한다.
#>vi /etc/ssh/sshd_config
59 AuthorizedKeysFile .ssh/authorized_keysadmin01$>touch ~/.ssh
admin01$>touch ~/.ssh/authorized_keys
admin01$>cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
admin01$>chmod 700 ~/.ssh
admin01$>chmod 600 ~/.ssh/authorized_keys
공개키는 여러개 등록시킬수 있기때문에 이어쓰기 작성한다.
또한 디렉터리와 파일에 대해 권한을 설정해주어야 한다.
이러한 권한설정이 귀찮다면 /.ssh를 만들고 상속권한을 주면 되는데 나는 그게 더 귀찮을 것같다 ..
authorized_keys path의 경로가 바꼇을 경우 옵션 -i 를 사용해서 private key path 설정.
VNC service ( 그래픽 환경을 가지고 접속을 할 수 있다)
'서버 > 리눅스' 카테고리의 다른 글
[리눅스] DNS설정 후 웹서버 (0) 2017.05.02 [리눅스] DNS (0) 2017.04.28 [리눅스] Telnet (0) 2017.04.26 [리눅스] xinetd ( 서비스관리 데몬 ) (0) 2017.04.26 [리눅스] FTP보안설정 (0) 2017.04.25