ssh는 접속되는데 sftp만 접속안되는 문제

mun1d0kua4oj의 이미지

원래 안 쓰던 docker이미지를 사용하려고하는데
기존 이미지들은 openssh-server 설치후 port 변경만해주면 ssh, sftp 모두 정상적으로 동작했습니다.

그런데 새로 사용하려고하는 이미지는 위 작업을 동일하게 해 줄경우 ssh는 연결되는데
sftp가 제대로 동작을안해서 개발환경과 연동해 사용할 수가 없네요 ㅜㅜ
(tensorflow 이미지를 사용하려고하는데 ngc 이미지는 버전문제가 있고 tensorflow는 sftp문제가 있네요 ㅜㅜ)

구글링 해보니 /etc/ssh/sshd_config 수정하라는 글밖에 안나오는데 해당파일설정은 이미 완료한 상태입니다.
한번도 이런문제가 없었는데 갑자기 생긴일이라 왜 그런건지 모르곘네요 ㅜㅜ
고수분들 조언부탁드립니다.

감사합니다!

File attachments: 
첨부파일 크기
Image icon 캡처.JPG18.34 KB
raymundo의 이미지

도커 컨테이너에 굳이 추가 서비스를 깔아서 파일을 주고받는 것보다는 외부 볼륨을 사용하시는 게 훨씬 편하고 관리도 쉽지 않을까 합니다만...

이왕 질문을 올리실 거면 답변하는 사람들이 따라해보실 수 있게 정보를 주시면 좋을 텐데 어째 아예 정보가 없는 것도 아니면서 조금씩 부족하네요.

1. 이미지 이름과 태그가 정확히 어떻게 되나요.

tensorflow라길래 도커허브에서 tensorflow/tensorflow:latest 로 시도했습니다.

2. openssh-server 설치랑 포트 변경은 어떻게 설치했고 뭘 왜 변경했다는 말인가요.

apt update
apt install openssh-server 
/etc/init.d/ssh start

포트 변경은 도커 호스트의 포트와 매핑 말씀하시는 건가요? 저는 다음과 같이 30000 번 포트에 매핑했습니다.

docker run -it -p 30000:22 tensorflow/tensorflow

3. /etc/ssh/sshd_config 수정을 어떻게 하라는 얘긴가요.

제가 위 상태에서 접속을 시도하니

# 컨테이너 쪽에서 adduser로 tester라는 유저를 추가한 후
# 도커 호스트 쪽에서
$ sftp -P 30000 tester@localhost
tester@localhost's password:
Received message too long 458961211

위와 같은 에러가 나서 검색해보니
https://goni9071.tistory.com/196
이런 글이 있어서 시키는 대로

# 주석처리하고
#Subsystem      sftp    /usr/lib/openssh/sftp-server
# 아래 추가
Subsystem       sftp    internal-sftp
 
# 이후 ssh 재시작
/etc/init.d/ssh restart

이제 접속 시도를 다시 해보니

p$ sftp -P 30000 tester@localhost
tester@localhost's password:
Connected to localhost.
sftp> ls
hello

잘 되어버렸습니다...

파일질라로 해보면 좋겠는데 저 서버가 제 PC에서 바로 들어갈 수 없는 곳이라고 지금은 안 되네요.

https://itsfoss.com/fix-establish-ftp-connection-sftp-server/
에러메시지를 보고 검색했더니 이런 게 보이던데, 그냥 파일질라 쪽 설정 문제는 아닌지 확인해보셨나요?

좋은 하루 되세요!

mun1d0kua4oj의 이미지

알려주신대로 따라해보니 문제가 해결되었습니다.

다음부터는 질문할 때 세부사항까지 같이 기재하도록 하곘습니다.
감사합니다. 좋은하루되세요 :)

Stephen Kyoungwon Kim@Google의 이미지

ssh 설정을 잘 아시는 모든 분들이 다 docker에 익숙한 것은 아닙니다. 그리고 docker에 익숙한 모든 분들이 전부 tensflow 이미지의 존재를 이미 알고 있었던 것도 아니구요. docker와 ssh/sftp 설정을 잘 아는 분이 질문하신 분의 문제가 무엇인지 reproduce 해보기에는 본문의 정보가 다소 부족합니다.

어떤 명령을 어떤 순서로 수행했으며 어떤 에러가 나왔는지 상세히 쓰시는 게 좋다고 생각합니다. 아니면 답을 하는 사람이 추측을 해야 하니까요.

"구글링을 해보니 sshd_config를 수정하라는 얘기밖에 없"는데 "해당 파일의 설정은 이미 완료"하신 상태라고 하셨는데... 그 설정이 잘못 되어 있으니 고치라는 이야기들일 겁니다. 그 설정 파일을 같이 포스팅 하셨어야 합니다.

위의 raymundo님의 답변에 한 표 던집니다. 아마 3번이 문제일 거라고 생각되고, 그렇게 고치는 게 어떤 의미를 갖는지는 아래 링크에 나와 있습니다.

https://serverfault.com/questions/660160/openssh-difference-between-internal-sftp-and-sftp-server

mun1d0kua4oj의 이미지

이 기회에 커뮤니티에서 질문하는 올바른 방법을 배운 것 같습니다.
감사합니다. 오늘도 좋은하루 되세요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.