Tina Linux SDK를 이용하는 테스트 보드를 시작하며 ssh 연결이 안 되어있어 매우 불편했습니다.
MobaXterm 등을 이용할수도 없어서 연결을 시도해보고 기록해 봅니다.
처음 ssh 관련 패키지가 설치되어있지 않기 때문에 설치를 시작합니다.
1. tina package 를 추가하기 위해 menuconfig를 실행해 추가합니다.
메뉴에서 아래 ssh 항목을 ON 합니다.
> Network > SSH ───
< > openssh-client............................................ OpenSSH client │ │
< > openssh-client-utils............................ OpenSSH client utilities │ │
-*- openssh-keygen............................................ OpenSSH keygen │ │
< > openssh-moduli....................................... OpenSSH moduli file │ │
<*> openssh-server............................................ OpenSSH server │ │
< > openssh-server-pam..................... OpenSSH server (with PAM support) │ │
< > openssh-sftp-client.................................. OpenSSH SFTP client │ │
< > openssh-sftp-server.................................. OpenSSH SFTP server
추가로 다음 항목도 설치 합니다. (꼭 필요한지는 확인이 필요합니다. 일단 추가.)
> Network > IP Addresses and Names ─
-*- mdns-utils......................................... mDNS client utilities │ │
-*- mdnsd................................................. mDNS server daemon │ │
<*> mdnsresponder.......................................... mDNS suite (meta)
~~~~
<*> mdns........................................ OpenWrt Multicast DNS Daemon
> Base system ──
<*> dropbear........................................ Small SSH2 client/server
2. 이후 SDK 전체 패키지 빌드를 실행합니다.
3. 문제없이 빌드가 되고, 이미지를 보드에 구운 후 /etc/ssh 폴더가 생기고, 여러 위치에 해당 파일이 설정되었습니다.
먼저 /etc/ssh/sshd_config 파일을 수정해 동작 설정을 해줍니다.
sshd_config 파일이 초기에는 모두 # 로 주석처리되어있는데, 주석을 해제 또는 변경해줍니다.
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes
MaxAuthTries 6
MaxSessions 10
#PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM no
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# override default of no subsystems
Subsystem sftp /usr/lib/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
4. 실행을 해봅니다. 저의 경우엔 에러가 발생합니다.
$ etc/init.d/sshd start
5. 일단 실행해볼 수 있도록 에러를 처리해봅니다.
1) /etc/init.d/sshd 파일을 수정해 procd_add_mdns 라인을 주석처리
정확히 어떤 기능을 하는 함수인지는 모르겠지만 일단 주석처리합니다.
2) Privilege separation user sshd does not exist 는 계정을 설정해야 하는 듯한데
검색을 해보니 설명이 있었습니다.
- /etc/group 파일에 아래 내용을 추가/수정합니다. (저는 번호가 다르게 설정되어있어 일단 수정했습니다. )
sshd:x:74:
- /etc/passwd 파일에 아래쪽에 아래 문구를 추가합니다. (저는 없어서 추가했습니다.)
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
6. 실행해봅니다.
$ /etc/init.d/sshd start
실행 후 ps로 확인해보니 아래처럼 실행되고 있습니다.
974 root 2888 S /usr/sbin/sshd -D
7. MobaxTerm에서 연결해봅니다.
초기 연결 시 ID: root , passwd : tina 인 것 같습니다.
연결 시 설정한 적도 없는 passwd를 입력하라고 해서 이것저것 넣어보다 운 좋게 되었네요..
아래와 같이 열결 되었습니다.
한 가지 문제점은 주요 기능인 파일 전송이 안됩니다. 아직 뭔가 설정을 더 해줘야 하는 듯합니다.
산 넘어 산이네요.... 고수님들은 정말 대단하네요..
설정 잘 아시는분은 좀 알려주세요. ^^;;
'취미 > linux 기초' 카테고리의 다른 글
YU12, NV12 format 구조(YUV420) (1) | 2022.11.18 |
---|---|
Tina Linux SSH server 설정 (2) (0) | 2022.11.15 |
MobaXterm 터미널 log 저장 하기 (0) | 2022.11.04 |
linux .so .a 함수 들여다보기 (0) | 2022.11.01 |
linux grep 문자열 검색 (0) | 2022.11.01 |
댓글