OpenOpenSSH是openBSD項目組開發的,基於BSD協議。通常linux發行版自帶Openssh。2008年7月出了5.1版。 openssh包含一套程序。scp替換rcp,sftp替換了ftp. 包含sshd和sftp server端。scp: 遠程文件拷貝(scp指定了遠端的非默認22端口):linux
scp -P 20022 src.tar.gz zhouhh@192.168.12.13:/home/zhouhh #大pshell
scp -P 20022 zhouhh@192.168.12.13:/home/zhouhh/src.tar.gz .ssh
scp -o port=60066 zhouhh@172.16.22.30:/home/zhouhh/src.tar.gz .ide
scp -P 60066 -r /home/zhouhh/src/.* zhouhh@172.16.22.32:/home/zhouhh/dest/
spa
拷貝目錄,-r是將目錄下的目錄遞歸拷貝。".*"是將隱藏文件也拷貝過去。命令行
scp -P 60066 -r zhouhh@172.16.22.30:/home/zhouhh/src/* zhouhh@172.16.22.32:/home/zhouhh/dest/rest
最後一個命令存在一個問題,就是若是172.16.22.30不是默認22端口,沒法指定端口。即-P 指定非缺省的ssh端口時,對遠程的拷貝,沒法指定兩個不一樣的端口。這應該是scp的命令缺陷。若是誰知道怎麼指定兩個遠端的非缺省22端口的語法,請告訴我。聯繫地址ablozhou[at]gmail.com。server
scp的優勢是使用簡單,缺點是沒法列出遠端目錄和改變目錄。複雜一點的用法是用sftp。遞歸
sftp:開發
sftp -o port=60066 zhouhh@192.168.12.12:/home/zhouhh
其中-o port選項指定非缺省的ssh端口。
Connecting to 192.168.12.12...
zhouhh@192.168.12.12's password:
Changing to: /home/zhouhh
sftp> pwd
Remote working directory: /home/zhouhh
在命令行模式下能夠執行一系列命令
ls,cd,pwd,mkdir,rmdir,rm 等遠端文件操做
lls,lcd,lpwd等本地操做。
!command 執行本地shell命令
!進入本地shell,exit再進入sftp的命令提示。
能夠用help或"?"來查詢全部的sftp支持的命令。
get 從遠端下載文件
put 將本地文件上傳到遠程。
sftp配置,須要在/etc/ssh/sshd_config
配置文件增長sftp子系統:
Subsystem sftp /usr/libexec/openssh/sftp-server
而後重啓sshd:
service sshd restart