3 minute read

ssh

  • ssh는 통신 구간을 암호화
  • 암호화 되지 않은 통신을 사용하던 telnet 서비스는 없어짐
  • 기본으로 리눅스 서버들은 ssh 서비스가 탑재되어있다.
  • Linux의 ssh 는 openssh 사용

ssh server, ssh client

  • sshd
    • ssh daemon, 즉 ssh server을 의미한다.
  • ssh
    • ssh client이며, ssh 명령어가 바로 ssh client CLI 유틸리티이다.
    • MS 윈도 계열에서 접속하려면 putty 같은 툴을 사용한다.

sshd : prerequisite

  • sshd 서버의 준비 작업
    1. sshd 서버의 설치 여부 확인
    2. sshd 서비스가 실행 중인지 확인
    3. ssh port(22/tcp)가 방화벽에 허용되어 있는지 확인
  • sshd 서비스가 실행중인지 확인한다.
    • systend 기반 : systenctl status sshd
    • init 기반(구형 리눅스) : service sshd status ```bash obo@obo-900X3L:~/Github/happyOBO.github.io$ systemctl status sshd ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since 목 2020-12-17 23:58:30 KST; 1min 40s ago Main PID: 23314 (sshd) CGroup: /system.slice/ssh.service └─23314 /usr/sbin/sshd -D

    12월 17 23:58:30 obo-900X3L systemd[1]: Starting OpenBSD Secure Shell server… 12월 17 23:58:30 obo-900X3L sshd[23314]: Server listening on 0.0.0.0 port 22. 12월 17 23:58:30 obo-900X3L sshd[23314]: Server listening on :: port 22. 12월 17 23:58:30 obo-900X3L systemd[1]: Started OpenBSD Secure Shell server.

      ```s
      ## ssh port(22/tcp) 상태 확인
      obo@obo-900X3L:~/Github/happyOBO.github.io$ ss -nltp
      State       Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
      LISTEN      0      5                127.0.1.1:53                                   *:*                  
      LISTEN      0      128                      *:22                                   *:*                  
      LISTEN      0      5                127.0.0.1:631                                  *:*                  
      LISTEN      0      128                     :::22                                  :::*                  
      LISTEN      0      5                      ::1:631                                 :::* 
    
  • 보니까 22번 포트를 서비스 하고 있는 애가 두개다. 왜일까!
    • 위에건 IPv4, 아래건 IPv6 주소이다…!

ssh client

  • ssh [-p port] [username@] <host addr>
    • 예시 ) ssh 192.168.52.110, ssh linuxer@192.168.52.110 ,ssh -p 20022 192.168.52.110
    • port 를 생략하면, default 번호인 22 번으로 된다.

ssh-keygen

  • 실제 실무에서는 암호를 다 치지 않고, 키를 만들어서 키 기반 통신을 한다.
  • 키를 만들어주는게 바로 ssh-keygen!
  • -N : new passphrase
  • pubkey 기반 연결
      ssh-keygen -N ""
      ssh-copy-id obo@192.168.52.110 # remote의 ~/.ssh/authorized_keys에 복사하는 과정
      ssh obo@192.168.52.110
    

curl

  • 프로그램을 압축된 파일 하나로 다운 받을 때 사용한다.
  • URL을 기반으로 통신하는 기능 제공
  • CLI tool 과 library 제공

      curl [option] <URL>
    
      curl -O https://www.mycompany.com/docs/manual.html
      # maual.html 파일로 저장
      curl -o nate.html https://www.nate.com
      # URL에 파일 명이 없으므로 -o 옵션으로 직접 지정
      obo@obo-900X3L:~$ curl v2.wttr.in/Seoul
      ┌┤  Weather report for: Seoul  ├─────────────────────────────────────────┐
                                                                              
                                                                              
             Fri 18 Dec              Sat 19 Dec              Sun 20 Dec       
                                                                            
                                                                              
                                                                              
      +0         ⡰⠉⡆                                                          
      │⡇         ⢰⠁ ⠸⡀                                                         
      │⡇               ⢀⣀    ⢀⠤⠤⢄⡀                                           
      │⡇            ⠈⢆⢀⠖⠁ ⠑⠤⡠⠔⠁   ⠐⡄          ⣀⡀                              
      │⡇    ⣀⣀⡠⠔⠁                  ⠈⠡⡀      ⡠⠊ ⠈⢆                       ⢀⣀⡀   
      │⡇  ⡠⠊                          ⠈⠒⠤⣀⡀⢀⡔⠁   ⠈⡂                    ⢀⠔⠁ ⠑⡆  
      │⡇⡠⠊                                ⠈⠁      ⠱⡀          ⣀⠤⠤⠤⣀⣀⣀⠤⠒⠁      
      │⠗⠁                                                  ⢀⠎                
                                                  ⠈⢆      ⡠⠃                 
      -9                                           ⠈⠢⣀⢁⡠⠒⠊                  ⠘⠄│
                                                                              
      │─────┴─────┼─────┴─────╂─────┴─────┼─────┴─────╂─────┴─────┼─────┴─────╂│
           6    12    18           6    12    18           6    12    18      
                                                                              
                        0.67mm|0%                                             │
      │                     ▇█                                                 │
      │                     ██▂                                                │
      │                    ████                                                │
      │                    ████_                                               │
      │              __   ▇█████  ▁▇▅▂                                         │
      │                                                                        │
      │                                                                        │
      │ ☀️  ☀️  ☀️  ☀️  ☀️  ☁️  🌨 ❄️  ☁️  ❄️  ⛅️ ⛅️ ☁️  ☀️  ☀️  ⛅️ ⛅️ ⛅️ ☀️  ☀️  ☀️  ☀️  ☀️  ☀️ │
      │ ↘  ↘  ↘  ↘  ↓  ↗  ↖  ←  ↖  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘  ↘ │
      │ 9  5  3  3  1  5  3  4  3  1  5  8  12 15 15 13 10 7  6  6  12 14 13 9 │
      │                                                                        │
      │🌒                     🌒                      🌒                     🌒│
      │       ─━━━━━━━━━─             ─━━━━━━━━━─             ─━━━━━━━━━─      │
      │                                                                        │
      │                                                                        │
      └────────────────────────────────────────────────────────────────────────┘
      Weather: 🌨  Light snow, -1°C, 79%, 4km/h, 1028hPa
      Timezone: Asia/Seoul
      Now:    00:31:00+0900 | Dawn:    07:11:18  | Sunrise: 07:41:11
      Zenith: 12:28:11      | Sunset:  17:15:16  | Dusk:    17:45:08
      Location: 서울특별시, 대한민국 [37.5668,126.9784]
    
      Follow @igor_chubin for wttr.in updates
    

CLI 에서 웹브라우징

  1. sudo apt -y install elinks
  2. elinks
  3. 주소 검색

wget

  • wget <URL>
  • wget과 curl은 대부분의 기능은 비슷하나, curl이 더많은 기능을 가진다. 하지만, 파일 다운로드에 특화된 기능이 존재한다.

nc (netcat)

  • network 기능이 가능한 cat

Categories:

Updated: