리눅스 환경에서 원격 서버에 안전하게 접속하기 위해 널리 사용되는 도구는 OpenSSH이다. 대부분의 리눅스 배포판은 기본적으로 openssh-client와 openssh-server 패키지를 포함하고 있다. 서버 측에서는 sshd 데몬이 실행 중인지 확인해야 하며, 클라이언트 측에서는 ssh, scp, sftp 등의 명령어를 통해 접속하거나 파일 전송이 가능하다.
예를 들어, 특정 호스트로 SSH 로그인을 수행하려면 다음 명령을 사용한다:
ssh user1@cocooker.gro.clinux.org
파일 복사는 scp를 활용한다:
scp myfile user1@cocooker.gro.clinux.org:/home/user1
대화형 파일 전송에는 sftp가 적합하다:
sftp user1@cocooker.gro.clinux.org
비밀번호 외에도 공개 키 기반 인증 방식을 사용할 수 있다. 먼저 키 쌍을 생성한다:
ssh-keygen -t rsa
이 명령은 사용자 홈 디렉터리 내 ~/.ssh/ 폴더에 id_rsa(비밀 키)와 id_rsa.pub(공개 키)를 생성한다. 이후 서버의 ~/.ssh/authorized_keys 파일에 공개 키 내용을 추가하면 키 기반 인증이 활성화된다. 로그인 시에는 비밀 키의 암호(passphrase) 입력이 필요하다.
PuTTY에서 생성한 .ppk 형식의 키를 OpenSSH에서 사용하고자 할 경우, 형식 변환이 필요하다. PuTTY 번들에 포함된 puttygen 도구를 이용해 다음과 같이 변환할 수 있다:
puttygen grokey.ppk -O private-openssh -o id_rsa
puttygen grokey.ppk -O public-openssh -o id_rsa.pub
HTTP 프록시를 경유하여 SSH 접속이 필요한 경우, netcat 또는 connect-proxy 같은 도구를 활용할 수 있다. 예를 들어 Fedora에서 nc를 사용하는 설정은 다음과 같이 ~/.ssh/config 파일에 작성한다:
ProxyCommand nc -X connect -x 192.168.2.67:808 %h %p
SOCKS 프록시(버전 4 또는 5)를 사용할 경우에는 connect 옵션을 조정한다:
ProxyCommand nc -X 5 -x 192.168.2.67:1080 %h %p
Debian 3.2 또는 Ubuntu 6.06과 같은 시스템에서는 connect-proxy 패키지를 설치한 후 아래와 같이 설정한다:
ProxyCommand connect-proxy -H 192.168.2.67:808 %h %p
SOCKS 프록시를 사용할 때는 -H 대신 -S 플래그를 사용한다:
ProxyCommand connect-proxy -S 192.168.2.67:1080 %h %p
Mandriva 2006의 경우, 동일한 기능을 제공하는 connect 프로그램을 사용하며, 패키지명과 실행 파일명이 단순히 connect로 일치한다는 점만 다르다. 설정 예시는 다음과 같다:
ProxyCommand connect -H 192.168.2.67:808 %h %p
또한 GUI 기반 파일 전송 도구인 gFTP를 사용할 수도 있으며, 연결 시 프로토콜을 "SSH2"로 지정하면 SFTP 방식으로 원격 시스템에 접근할 수 있다.