๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Linux] SSH Broken Pipe ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ณธ๋ฌธ

ssh๋กœ ec2 ์ ‘์†์ด ์ž˜ ๋˜๋˜์ค‘ ๊ฐ‘์ž๊ธฐ ๊ณ„์† broken pipe ๊ฐ€ ๋œจ๋ฉด์„œ ์ ‘์†์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

 

 

๊ตฌ๊ธ€๋งํ•ด์„œ ์ฐพ์•„๋ณด๋‹ˆ๊น ์ผ์ • ์‹œ๊ฐ„ ์‹คํ–‰์ด ์—†์–ด, ssh ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์˜€๋‹ค.

 

๐Ÿ” ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  • sudo nano /etc/ssh/ssh_config ๋ช…๋ น์œผ๋กœ ssh_config ํŒŒ์ผ์„ ์—ฐ๋‹ค
  • Host * ์•„๋ž˜์—
    ServerAliveInterval 120
    TCPKeepAlive no
    ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

ServerAliveInterval 120 = ํด๋ผ์ด์–ธํŠธ๊ฐ€ 120์ดˆ๋งˆ๋‹ค ๊ณตํŒจํ‚ท(Null Packet)์„ ์„œ๋ฒ„์— ์ „์†กํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•œ๋‹ค. ์ฆ‰ 120์ดˆ๋งˆ๋‹ค ์„œ๋ฒ„์—๊ฒŒ ๋Œ€๋‹ต์„ ํ•˜๋ผ๋Š” ์š”์ฒญ์„ ๋ณด๋‚ด๋Š”๊ฒƒ์ด๋‹ค.

TCPKeepAlive no = TCPKeepAlive๋Š”  TCP ์†Œ์ผ“ ์—ฐ๊ฒฐ์—์„œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ์œ ์ง€๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์—ฐ๊ฒฐ์ด ๋Š์–ด์กŒ์„ ๋•Œ ์ด๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์ผ์ •์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์—ฐ๊ฒฐ๋œ ์„ธ์…˜์ด ์‚ด์•„์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด keep-alive ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์–ด ์—ฐ๊ฒฐ์ด ํ™œ์„ฑ์ƒํƒœ์ž„์„ ์•Œ๋ฆฌ๋Š”๋ฐ  no ์˜ต์…˜์„ ์ฃผ๋ฉด keepAlive ํŒจํ‚ท์ด ์ „์†ก๋˜์ง€ ์•Š์•„ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๋Š”๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

 

 

์„ค์ • ์™„๋ฃŒํ›„, ์ž˜ ์ ‘์†์ด ๋˜์—ˆ๋‹ค!

 


 

------------์ถ”๊ฐ€-------------

 

์•„์˜ค ์–˜ ๋˜ ์•ˆ๋˜๋„ค;...;;;

๋˜๋˜ ssh๋กœ ์ ‘์†ํ• ๋•Œ ๊ณ„์† Broken pipe ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.

๊ตฌ๊ธ€๋ง์œผ๋กœ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ ChatGpt์˜ ๋„์›€์„ ๋ฐ›์•˜๋‹ค.

SSH ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ๋„ ํƒ€์ž„์•„์›ƒ ๊ด€๋ จ ์„ค์ •์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ~/.ssh/config ํŒŒ์ผ์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ์˜ ํƒ€์ž„์•„์›ƒ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ 60์ดˆ๋งˆ๋‹ค ์„œ๋ฒ„์— Alive ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ , ์ตœ๋Œ€ 3๋ฒˆ๊นŒ์ง€ ๋Š์–ด์ง„ ์—ฐ๊ฒฐ์„ ๊ฐ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค

 

์Œ ๊ทธ๋ ‡๊ตฐ

ํ•œ๋ฒˆ ์‹œ๋„!!

 

nano ~/.ssh/config

ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ํ•ด๋‹น ํŒŒ์ผ์ด ์—†๋‹ค๊ณ  ๋œจ๋ฉด 

touch ~/.ssh/config
nano ~/.ssh/config

 

config ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ํŒŒ์ผ์„ ์—ด์–ด ํŒŒ์ผ์„ ํŽธ์ง‘ํ•œ๋‹ค.

Host *
  ServerAliveInterval 60
  ServerAliveCountMax 3

 

์ด๋ ‡๊ฒŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด 60์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ Alive ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ , ์ตœ๋Œ€ 3๋ฒˆ๊นŒ์ง€ ์—ฐ๊ฒฐ ๋Š๊น€์„ ํƒ์ง€ํ•œ๋‹ค.

 

์ด์ œ ์—ฐ๊ฒฐํ•ด๋ณด๋ฉด ์•„์ฃผ ์ž˜ ์ ‘์†์ด ๋œ๋‹ค!!

์ด์ œ์•ผ happy~๐Ÿ˜Š

 

 

 

 

 

์ฐธ๊ณ ์ž๋ฃŒ

https://may0301.tistory.com/10

 

Broken Pipe ๋ฌธ์ œ ํ•ด๊ฒฐ

๋ฌธ์ œํ„ฐ๋ฏธ๋„์—์„œ ssh๋กœ ์„œ๋ฒ„ ์—ฐ๊ฒฐํ›„ ์„œ๋ฒ„๋กœ ์ž‘์—…์ค‘ Broken pipe๊ฐ€ ๋œจ๋ฉด์„œ ์„œ๋ฒ„ ์—ฐ๊ฒฐ์ด ๋Š๊ธด๋‹ค. ํ•ด๊ฒฐํ„ฐ๋ฏธ๋„์— nano ~/.ssh/config ์ž…๋ ฅํ•˜์—ฌ text editor๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ "config" ๊ฐ€ ์žˆ๋Š” ์œ„์น˜(/etc/ssh/ssh_config

may0301.tistory.com

https://devidea.tistory.com/60

 

Keepalive ์ •๋ฆฌ

TCP Keep alive 3-way handshake๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ์„ธ์…˜์„ ์—†์• ์ง€ ์•Š๊ณ  ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹. [๊ทธ๋ฆผ 1] TCP Keepalive ํ™˜๊ฒฝ์—์„œ์˜ ํŒจํ‚ท ํ๋ฆ„. [๊ทธ๋ฆผ 1]๊ณผ ๊ฐ™์ด TCP Keepalive๋Š” ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์—ฐ๊ฒฐ๋œ ์„ธ์…˜์ด ์‚ด์•„์žˆ

devidea.tistory.com