Solaris8 - SSH 설치
Posted 10 17, 2011 16:35, Filed under: System/UNIX
# 한번의 광고 클릭으로, 당신을 대신해서 불우이웃을 도울 기회가 많아집니다.
설치 환경 : Solaris8 SPARC (SunOS test 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Fire-880)
csh 쉘
1. SSH 설치에 필요한 Package 다운로드
http://www.sunfreeware.com 에서 다운로드 가능. 사이트 우측의 메뉴에서 해당 시스템의 사항에 해당되는 것을 클릭
openssh-5.9p1-sol8-sparc-local.gz
openssl-1.0.0e-sol8-sparc-local.gz
libgcc-3.4.6-sol8-sparc-local.gz
prngd-0.9.25-sol8-sparc-local.gz
zlib-1.2.5-sol8-sparc-local.gz
tcp_wrappers-7.6-sol8-sparc-local.gz
위의 리스트중에 이미 설치되어 있는 것은 생략해도 됩니다.
이 버전보다 상위 버전이 있다면 그것을 받아서 설치해도 됩니다.
2. Package 압축 해제
root[/Package]% gunzip *.gz
3. Package 설치
root[/Package]% pkgadd -d openssh-5.9p1-sol8-sparc-local
root[/Package]% pkgadd -d openssl-1.0.0e-sol8-sparc-local
root[/Package]% pkgadd -d libgcc-3.4.6-sol8-sparc-local
root[/Package]% pkgadd -d prngd-0.9.25-sol8-sparc-local
root[/Package]% pkgadd -d zlib-1.2.5-sol8-sparc-local
root[/Package]% pkgadd -d tcp_wrappers-7.6-sol8-sparc-local
4. ssh 접속 환경 구성
root[/Package]% mkdir /var/empty
root[/Package]% chown root:sys /var/empty
root[/Package]% chmod 755 /var/empty
root[/Package]% groupadd sshd
root[/Package]% useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd
5. tcp_wrapper 설정
root[/Package]% vi /etc/inetd.conf
모든 행 # 주석처리
root[/Package]% vi /etc/hosts.allow
sshd:All
root[/Package]% vi /etc/hosts.deny
All:All
-- inetd 재시작
root[/Package]% /etc/init.d/inetsvc stop
root[/Package]% /etc/init.d/inetsvc start
root[/Package]% ps -ef | grep inetd
6. SSH 사용을 위한 암호키 생성
- PATH에 /usr/local/bin 과 /usr/local/sbin 이 등록되어 잇어야 명령어를 실행할 수 있습니다.
root[/Package]% set path=($PATH . /usr/sbin /sbin /usr/bin /bin /usr/ccs/bin /usr/ucb /etc $ORACLE_HOME/bin $ORACLE_HOME/ctx/lib /usr/local/bin /usr/local/sbin)
- 아래 1,2,3 명령 실행
1. root[/Package]% ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
-- PRNG is not seeded 에러 발생시
# mkdir /var/spool/prngd
# /usr/local/sbin/prngd /var/spool/prngd/pool
Info: Random pool not (yet) seeded
# ln -s /var/spool/prngd/pool /dev/egd-pool
2. root[/Package]% ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
3. root[/Package]% ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
- 실행, 결과 아래와 같이 key가 만들어집니다.
root[/Package]% ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
Generating public/private rsa1 key pair.
Your identification has been saved in /usr/local/etc/ssh_host_key.
Your public key has been saved in /usr/local/etc/ssh_host_key.pub.
The key fingerprint is:
31:0e:d6:92:55:43:94:95:4c:50:a3:a6:43:28:d0:df root@ekpold
The key's randomart image is:
+--[RSA1 2048]----+
| .. .+*B=. |
| .. = .oo. |
| ..*.= o |
| o.=E= |
| S |
| . |
| |
| |
| |
+-----------------+
root[/Package]%
root[/Package]% ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
Generating public/private dsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_dsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_dsa_key.pub.
The key fingerprint is:
5f:42:ad:80:ca:a3:74:25:9e:3a:70:10:86:71:6b:b0 root@ekpold
The key's randomart image is:
+--[ DSA 1024]----+
|=o. |
|o= . . . |
|E o . o . . . |
| o o = o . |
|. o B S o . |
| + + . . o |
| + . |
| . |
| |
+-----------------+
root[/Package]%
root[/Package]% ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
Generating public/private rsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_rsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_rsa_key.pub.
The key fingerprint is:
4e:e7:cb:fa:84:56:c5:3b:a8:ef:2f:6b:b4:64:d6:78 root@ekpold
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . |
| o |
| o . |
| S +oo |
| o ** E. |
| ==oo |
| . ++. |
| .=B+. |
+-----------------+
7. sshd Daemon Script 작성
root[/Package]% vi /etc/init.d/sshd
#!/bin/sh
pid=`/usr/bin/ps -e | /usr/bin/grep sshd | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
case $1 in
'start')
/usr/local/sbin/sshd
;;
'stop')
if [ "${pid}" != "" ]
then
/usr/bin/kill ${pid}
fi
;;
*)
echo "usage: /etc/init.d/sshd {start|stop}"
;;
esac
pid=`/usr/bin/ps -e | /usr/bin/grep sshd | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'`
case $1 in
'start')
/usr/local/sbin/sshd
;;
'stop')
if [ "${pid}" != "" ]
then
/usr/bin/kill ${pid}
fi
;;
*)
echo "usage: /etc/init.d/sshd {start|stop}"
;;
esac
8. 기타 설정
-- 소유자및 그룹변경
root[/Package]% chown root /etc/init.d/sshd
root[/Package]% chgrp sys /etc/init.d/sshd
-- 파일 권한을 555로 설정 (r-xr-xr-x)
root[/Package]% chmod 555 /etc/init.d/sshd
-- S99sshd 파일에 sshd start 내용 삽입 -- 부팅시 자동실행
root[/Package]% cat >> /etc/rc2.d/S99sshd
/etc/init.d/sshd start
root[/Package]% cat /etc/rc2.d/S99sshd
/etc/init.d/sshd start
-- S99sshd 파일 권한으 744로 설정(rwxr--r--)
root[/Package]% chmod 744 /etc/rc2.d/S99sshd
9. sshd 실행 및 가동 여부 확인
root[/Package]% /etc/rc2.d/S99sshd
Could not load host key: /usr/local/etc/ssh_host_ecdsa_key -- 실행시 ecdsa 에러 발생
-- ecdsa 추가 해줌
root[/etc/init.d]% ssh-keygen -t ecdsa -f /usr/local/etc/ssh_host_ecdsa_key -N ""
Generating public/private ecdsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_ecdsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_ecdsa_key.pub.
The key fingerprint is:
45:4a:cb:0d:71:ec:6b:95:ca:97:aa:5d:a5:3c:3a:a0 root@ekpold
The key's randomart image is:
+--[ECDSA 256]---+
| +oo |
| o B. |
| +.o . |
| .. o |
| S. + .. |
| . =.oo |
| . o o= |
| E .oo . |
| ..o. |
+-----------------+
-- 데몬 가동 여부 확인
root[/Package]% ps -ef | grep sshd
root 4739 1 0 16:24:33 ? 0:00 /usr/local/sbin/sshd
-- sshd 실행
/etc/init.d/sshd start
-- sshd 중지
/etc/init.d/sshd stop
-- root 계정 로그인 거부
- sshd_config 파일에서 PermitRootLogin 부분의 주석을 해제 해고 yes 값을 no 로 하면 root 계정이 거부됩니다.
기본 #PermitRootLogin yes 로 되어 있음(주석상태일때 root 접속 허용)
vi /usr/local/etc/sshd_config
......
#LoginGraceTime 2m
PermitRootLogin no -- root 접속 거부 상태
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
=========================== 에러 관련 =============================================
에러1-1) ld.so.1: ssh-keygen: fatal: libcrypto.so.0.9.7: open failed: No such file or directory Killed
에러1-2) ld.so.1: ssh-keygen: 치명적: libcrypto.so.1.0.0: 열기 실패: 해당 파일이나 디렉토리가 없음
키 생성할때 위와 같은 에러 발생시 해당 버전의 openssl을 재설치
에러1-1)openssl-0.9.7d-sol8-intel-local
에러1-2)openssl-1.0.0e-sol8-sparc-local
-- 패키지 검색
root[/Package]% pkginfo | grep openssl
application SMCossl openssl
-- 패키지 삭제
root[/Package]% pkgrm SMCossl
<SMCossl>(이)가 성공적으로 제거되었습니다.
-- 패키지 재설치
root[/Package]% pkgadd -d openssl-1.0.0e-sol8-sparc-local
/etc/profile 파일에 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib;
또는 setenv LD_LIBRARY_PATH $ORACLE_HOME /usr/local/lib
LD_LIBRARY_PATH를 추가해줍니다.
========================================================================
참고한 곳 :
http://wisp.tistory.com/86
http://blog.naver.com/skoinfo?Redirect=Log&logNo=110005451805
에러참고한 곳 : http://www.solarisschool.com/qna_new/view.html?board=qna1&no=17092
"System / UNIX" 분류의 다른 글
| Unix - 압축 파일 내용 조회및 풀기 (0) | 2012/01/25 |
| Linux - Telnet 서비스 비활성및 실행 (0) | 2012/01/10 |
| Unix - 대량 파일 이동, 삭제시 Argument list too long (0) | 2011/12/26 |
| Unix - unix, Contos 용 파일질라 (0) | 2011/10/27 |
| Solaris - TCP 접속자 정보(IP, Port) 로그 남기기 (0) | 2011/10/17 |
| Solaris - 텔넷(telnet) 데몬에 심각한 취약점 (0) | 2011/10/17 |
| Unix - Sendmail 보내고 받는 메일 용량 제한 (0) | 2011/10/04 |
| Unix - 깨진 파일명을 가진 파일 검색및 삭제. (0) | 2011/07/14 |
| Linux - 영문, 한글 DNS 설정및 apache virtualhost 설정 (0) | 2010/06/23 |
| Unix - CRON실행(Solaris 9 or earlier versions, Solaris 10) (0) | 2010/05/07 |
# 한번의 광고 클릭으로, 당신을 대신해서 불우이웃을 도울 기회가 많아집니다.
Response :
0 Trackback
,
0 Comment
Trackback URL : http://develop.sunshiny.co.kr/trackback/665