설치 환경 : 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@ekpoldThe 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@ekpoldThe 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@ekpoldThe 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
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@ekpoldThe 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/86http://blog.naver.com/skoinfo?Redirect=Log&logNo=110005451805에러참고한 곳 :
http://www.solarisschool.com/qna_new/view.html?board=qna1&no=17092