[ssh] ssh 접속만 허용하고 scp나 리모트 명령은 막는 방법
외주로 개발을 의뢰할 경우가 발생하여
외부에서 개발 서버로 접근을 허용하는 작업을 하면서
접속은 하되
scp 등을 막고자 하면서 ...........
외부에서 svn연동하고자 할 때 사용한 방법에 대해서는 아래 링크 ....
참고> [svn] multiple svn server 구동
[결론]
여기 방식을 따르면
원하는 Filtering이 가능하며,
ssh 원격 접속만 허용할 수 있게 된다.
구글링>
https://serverfault.com/questions/28858/is-it-possible-to-prevent-scp-while-still-allowing-ssh-access
[구글링]
-아래 사이트들의 내용을 적용해 보았지만 내 경우에는 적용되지 않았다.
구글링>
https://serverfault.com/questions/28858/is-it-possible-to-prevent-scp-while-still-allowing-ssh-access
[내방법]
-아래 사이트 Mysidia 의 내용 => 로긴쉘 이용
https://www.experts-exchange.com/questions/21016603/How-to-allow-SSH-but-block-SCP.html
Mysidia 의 요점>
To execute a command:
/path/to/userLoginShell -c (command)
적용 방법>
대상이 되는 user의 로긴 쉘을 변경함.
bash -> mapper bash script
chsh -s mapper_shell USER_NAME
[mapper shell script]
#!/bin/sh
LOG_FILE=/tmp/.noscp.log
#if [[ "$*" =~ scp* ]] ; then
if [[ "$*" =~ "-c" ]] ; then
# env >> $LOG_FILE
# $SSH_CONNECTION=192.168.88.202 39629 192.168.88.222 22
# $SSH_CLIENT=192.168.88.202 39629 22
echo -n "ARGS[$*] from [$SSH_CONNECTION]" >> $LOG_FILE; date >> $LOG_FILE
echo "Rejected for the illegal access." >&2
exit 1
else
echo -n "Logged from [$SSH_CONNECTION]" >> $LOG_FILE; date >> $LOG_FILE
/bin/bash $*
echo -n "Logged out from [$SSH_CONNECTION]" >> $LOG_FILE; date >> $LOG_FILE
fi
exit
'프로...Linux' 카테고리의 다른 글
[HowTo] iso, img, opk 화일 생성 및 추출 (0) | 2019.02.13 |
---|---|
[SCRIPT] 쉘 스크립트 예제 (0) | 2019.02.02 |
[mysql] SQL 예제 (0) | 2019.01.17 |
[svn] multiple svn server 구동 (0) | 2019.01.16 |
[Util] sysdig - 사용자 감시 (0) | 2019.01.15 |