-
Notifications
You must be signed in to change notification settings - Fork 136
Ssh기능 추가 #858
base: next
Are you sure you want to change the base?
Ssh기능 추가 #858
Conversation
네 중간에 메서드 명을 바꿨던게 문제였습니다. |
동작방식을 알아야 리뷰를 할 수 있으니 최우선적으로 문서를 추가해주세요. |
098b3ae
to
b234a0f
Compare
문서에 대한 리뷰 링크: ssh-daemon.md
만약 sshd가 정상적으로 실행되지 않았을 경우 (해당 포트가 이미 사용되고 있을 경우) 프로젝트 페이지에 ssh주소복사와 관련 된 요소가 보이지 않도록 수정 |
8609f72
to
599c532
Compare
ssh-daemon.md 수정사항 입니다.
|
SshDaemon은 서버 실행 후 Global의 onStart함수에 의해 한 번 호출되어 데몬으로 동작한다. | ||
onStart함수는 activator의 start로 서버 구동 시 최초 1번 실행된다. | ||
(run 모드에서는 http의 최초 리퀘스트 발생시 1번 실행된다.) | ||
따라서 데몬의 중복 실행을 고려한 코드 작성은 필요치 않다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
onStart함수는 activator의 start로 서버 구동 시 최초 1번 실행된다.
(run 모드에서는 http의 최초 리퀘스트 발생시 1번 실행된다.)
따라서 데몬의 중복 실행을 고려한 코드 작성은 필요치 않다.
읽는 사람은 onStart 함수가 뭔지/무슨 일을 하는지 모르기 때문에 onStart 함수가 어떻게 동작하는지에 대한 설명은 필요하지 않을 것 같네요.
Yobi 사용자나 운영자가 보안 관련해서 고려해야 할 점은 없나요? 있다면 그것도 문서에 적어주세요. |
커밋들을 대략 이런식으로 합치고 나누면 좋을 것 같습니다.
커밋 하나하나가 독자적으로 Yobi를 조금이라도 더 나아지게 만드는 것이면 좋습니다. 그래야 해당 커밋을 읽는 리뷰어나 미래에 읽을 누군가가 이 커밋이 Yobi에게 필요한 이유가 무엇인지 쉽게 이해할 수 있습니다. |
Host key verification failed. | ||
``` | ||
이 경우 사용자는 ~/.ssh/known_hosts파일을 수정해야 접속이 가능하다. | ||
> known_hosts파일은 사용자가 ssh로 접속을 시도했던 서버들의 공개키 정보를 담고 있다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
>
는 인용할때 사용하는 것인데요. 여기는 인용이 아닌 것 같아보여요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네 수정하겠습니다.
커밋을 재분류했습니다.
|
지금 next 브랜치에 보면 2cbe12b 에서 findbugs 지원이 들어갔는데요. findbugs로 코드의 잠재적 결함을 찾을 수 있습니다. 그걸 이용해서 작성한 코드 중 결함이 예상된다고 보고되는 코드가 있으면 바로잡아주세요. |
현재까지 진행한 부분에 대해서 다시 푸쉬합니다.
앞으로 진행할 부분
|
38fd0c6
to
beb6ba5
Compare
} | ||
|
||
public static String add(SshUser key) { | ||
key.registerDate = new Date(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
키를 추가함을 의미하려고 할 때 "add"를 쓰기도 하고 "register"라고 하기도 하는데 차이가 있나요?
변경내용
진행할 것
|
진행할 것
|
hash = getMD5(getKey().getEncoded()); | ||
} else { | ||
final String[] parts = rawData.split(" ", 3); | ||
final byte [] bin = Base64.decodeBase64(Constants.encodeASCII(parts[1])); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사용자가 프로필 페이지에서 SSH 키를 추가할 때, 아무것도 입력하지 않고 추가 버튼을 클릭하면 여기서 ArrayIndexOutOfBoundsException 예외가 발생하네요.
사용자 SSH 키 등록 페이지에 public key를 어디서 가져올 수 있는지에 대한 안내가 필요할 것 같네요. |
github ssh-key generate 안내 같은 것을 말씀하시는 거죠? |
@oh4851 네 그런거요. 그냥 그 페이지 링크를 걸어도 좋을 것 같긴 한데 읽어보니 뒷부분엔 Github에 설정하는걸로 끝나는 문제가 있네요. |
그럼 별도의 안내 페이지를 한개 작성해서 링크를 해 볼까요? |
변경내용
진행할 것
|
0498151
to
0603cb4
Compare
15738f0
to
4249a85
Compare
변경내용
해야하는 것
|
- Add ignore case to .gitignore(.pem) : This file will be generated by - sshd for host authentication - Add Constants - Add dependency to build.sbt for sshd service - Apache Library (mina-core, sshd-core) for sshd - Bouncycastle Library (bcprov, bcmail, bcpkix) for pem - Add model for storing users sshkey information (SshUser.java) - Add member field to n4user model for storing sshkey information - Add sql query for storing sshkey information(99.sql) - Add mina-sshd core into yobi project - Add code for running sshd in yobi - Add sshdaemon start command into Global.java - Add View for ssh service(edit, project) - Add messages for ssh service - Add url type(http, ssh) select & copy service into project.home - Add ssh edit page to manage sshkey (1) register user's ssh publickey to server (2) delete user's ssh publickey from server (3) key validation check
- Support a detailed rejection message to the user who direct access to the shell.
- this commit supports that user can be select ssh.port. - If you don't remove annotation ssh.port (application.conf.default & application.conf) then your sshd try to run with [22000] - If you want to use other port you just remove annotation and change ssh.port value
- this commit support sshd diagnostics. - Diagnostic tool checks 3 state of sshd condition. > 1. sshd is null : sshd isn't initialized > 2-1. sshd is not running : port is out of range (0 ~ 65535) > 2-2. sshd is not running : port conflict > 3. otherwise : sshd has no problem with running
변경내용
TODO
|
try { | ||
sshd.stop(); | ||
} catch (InterruptedException e) { | ||
e.printStackTrace(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
printStackTrace로 출력하면 로그파일에는 기록이 안 될텐데요. 의도적인 것인가요?
@npcode @doortts 다시 보냅니다.
@KOR-Believer
리뷰해주신 내용 반영한 부분입니다.
현재 수정중인 부분입니다.
ssh url복사
sshkey관리