SSH를 사용하여 라우터를 통해 11.10을 실행하는 새 노트북을 8.04를 실행하는 기존 노트북에 연결하려고 합니다.
이 질문은 여기 우분투 포럼에서 묻고 답변됩니다.
http://ubuntuforums.org/showthread.php?t=1648965
여기서 좀 더 확실한 답변을 얻는 것이 도움이 될 것이라고 생각했습니다.
참고: 먼저 연결하려는 노트북에 openssh-server를 설치하고 Firestarter를 사용하여 방화벽에서 SSH 포트를 열어야 했습니다.
답변1
다양한 방법으로 SSH 서버에 대한 액세스를 제한할 수 있습니다.
IMO에서 가장 중요한 것은 SSH 키를 사용하고 비밀번호 인증을 비활성화하는 것입니다.
자세한 내용은 다음 위키 페이지를 참조하세요.
- https://help.ubuntu.com/community/SSH/OpenSSH/Keys
- https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#Disable_Password_Authentication
여러 가지 방법으로 특정 서브넷에 대한 액세스를 제한할 수 있습니다. 귀하의 SSH 서버가 IP 주소가 192.168.0.10 인 서브넷 192.168.0.0/16에 있다고 가정하겠습니다. 그에 따라 조정하십시오.
라우터
한 가지 방어선은 라우터를 사용하는 것입니다. UPnP를 비활성화하고 포트 전달을 허용하지 마십시오.
SSH 구성
에서는 여러 옵션을 설정할 수 있습니다 /etc/ssh/sshd_config
. 하나는 청취 주소입니다. 서브넷에 청취 주소를 설정한 경우. 개인IP 주소인터넷을 통해 라우팅할 수 없습니다.
ListenAddress 192.168.0.10
AllowUsers를 사용할 수도 있습니다.
AllowUsers [email protected]/16
다소 관련되어 포트를 변경할 수도 있습니다
Port 1234
보다:http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html
TCP 래퍼
포럼 게시물에 설명된 대로 TCP Wrapper 를 사용할 수 있습니다. TCP 래퍼는 2개의 파일을 사용하며 /etc/hosts.allow
,/etc/hosts.deny
/etc/hosts.allow
서브넷 편집 및 추가
sshd : 192.168.0.
수정 /etc/hosts.deny
하고 모두 거부합니다.
ALL : ALL
또한보십시오:http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/
방화벽
마지막으로 서버에 방화벽을 설정할 수 있습니다. iptables, ufw 또는 gufw를 사용할 수 있습니다.
iptables
sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
ufw
sudo ufw allow from 192.168.0.0/16 to any port 22
ufw
그래픽 인터페이스가 있습니다: gufw
답변2
2020 업데이트
Match
이 질문 이후, 이제 소개된 키워드를 사용하여 덜 복잡한 접근 방식이 가능해졌습니다.오픈SSH 6.5/6.5p1(2014):
에서SSHD구성 파일( /etc/ssh/sshd_config
에서데비안그리고 파생된 OS는 다음과 같습니다.우분투)
# Disable all auth by default
PasswordAuthentication no
PubkeyAuthentication no
[.. then, at the end of the file ..]
# Allow auth from local network
Match Address 192.168.1.*
PubkeyAuthentication yes
# if you want, you can even restrict to a specified user
AllowUsers stephan
팁: 사용자 정의 규칙을 폴더의 파일에 저장하는 것이 좋습니다 /etc/ssh/sshd_config.d
. 일반적으로 /etc/ssh/sshd_config.d/local_network_only.conf
. 이렇게 하면 ssh-server 패키지의 새 버전으로 업그레이드할 때 sshd 구성 파일이 변경되어 충돌이 발생하는 것을 방지할 수 있습니다.
man sshd_config
상세 사항은
답변3
ssh(보안 쉘)는 데이터에 안전하게 접근하고 전송하는 데 사용됩니다(RSA_KEYS 쌍 사용). SSH를 사용하여 두 가지 방법으로 데이터에 액세스할 수 있습니다. 1. 명령줄 2. 파일 브라우저 사용
명령줄: 이를 위해 아무것도 설치할 필요가 없습니다. 첫 번째 작업은 다른 컴퓨터에 로그인하는 것입니다.
ssh other_computer_username@other_computer_ip
이 명령은 다른 컴퓨터의 비밀번호(특정 사용자 이름에 대한)인 비밀번호를 묻습니다. 방금 다른 컴퓨터의 쉘에 로그인했습니다. 이 터미널은 컴퓨터 쉘 터미널과 같다고 생각하세요. 쉘을 사용하면 자신의 컴퓨터에서 할 수 있는 모든 작업을 다른 컴퓨터에서도 수행할 수 있습니다.
파일 브라우저: openssh-server를 설치해야 합니다.
sudo apt-get install openssh-server
로그인하려면 파일->connectToServer로 이동하세요.