利用OpenSSH建立自己的安全通道_第1頁(yè)
利用OpenSSH建立自己的安全通道_第2頁(yè)
利用OpenSSH建立自己的安全通道_第3頁(yè)
利用OpenSSH建立自己的安全通道_第4頁(yè)
利用OpenSSH建立自己的安全通道_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余2頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁(yè)利用OpenSSH建立自己的安全通道cc2.96

3.2用ssh命令建立SSH通道

[jack@mypcsshtest]$ssh-L4001:localhost:4017jack@

Lastlogin:TueAug719:05:10from

3.3本地程序清單(sshcall.c)

#include

#include

#include

#include

#include

intmain(intargc,char*argv[])

{

intfd;

structsockaddr_inaddress;

intaddress_len;

intrtval;

charserver_ip[20]="";

shortintport=4001;

charsendbuf[100];

charrecvbuf[100];

intlen;

/*創(chuàng)建套接字句柄*/

fd=socket(PF_INET,SOCK_STREAM,0);

/*配置將要連接的socket到本地端口4001*/

address.sin_family=PF_INET;

address.sin_addr.s_addr=inet_addr(server_ip);

address.sin_port=htons(port);

address_len=sizeof(address);

/*嘗試連接到遠(yuǎn)程端口,實(shí)際上通過(guò)了SSH的轉(zhuǎn)發(fā)*/

rtval=connect(fd,(structsockaddr*)address,address_len);

if(rtval==-1)exit(1);

/*發(fā)送一個(gè)字符串*/

strcpy(sendbuf,"Hello!Server.");

send(fd,sendbuf,strlen(sendbuf),0);

printf("\nDatasendout!");

/*等待服務(wù)器應(yīng)答*/

len=recv(fd,recvbuf,100,0);

printf("\nDatafromserver:%s",recvbuf);

/*再等待服務(wù)器的另一個(gè)字符串*/

len=recv(fd,recvbuf,100,0);

printf("\nDatafromserver:%s",recvbuf);

/*關(guān)閉socket*/

close(fd);

return0;

}

3.4遠(yuǎn)程服務(wù)程序清單(sshlisten.c)

#include

#include

#include

#include

intmain(intargc,char*argv[])

{

intfd;

intaddress_len;

structsockaddr_inaddress;

/*創(chuàng)建套接字句柄*/

fd=socket(PF_INET,SOCK_STREAM,0);

/*配置socket到本地4011端口*/

address.sin_family=PF_INET;

address.sin_addr.s_addr=htonl(INADDR_LOOPBACK);

address.sin_port=htons(4011);

address_len=sizeof(address);

bind(fd,(structsockaddr*)address,address_len);

/*監(jiān)聽(tīng)端口并只允許一個(gè)連接在監(jiān)聽(tīng)隊(duì)列中*/

listen(fd,5);

while(1)

{

structsockaddr_inclient_address;

intlen,datalen;

intclient_sockfd;

char*answer="OK";

char*answer_quit="QUIT";

char*client_end="END";

chardata[100];

char*client_ip;

printf("waiting...");

fflush(stdout);

/*等待客戶(hù)機(jī)的連接*/

len=sizeof(client_address);

client_sockfd=accept(fd,(structsockaddr*)client_address,

(int*)len);

/*打印出實(shí)際連接在服務(wù)器上所看到的網(wǎng)絡(luò)地址及端口*/

client_ip=inet_ntoa(client_address.sin_addr);

printf("\nClientIPaddressis%s,onport%d.",client_ip,

(int)client_address.sin_port);

/*從客戶(hù)機(jī)讀取數(shù)據(jù)*/

datalen=recv(client_sockfd,data,100,0);

if(datalen0)data[datalen]='\0';

printf("\nClientdatais:%s",data);

/*連續(xù)發(fā)送兩個(gè)字符串*/

send(client_sockfd,answer,strlen(answer),0);

send(client_sockfd,answer_quit,strlen(answer_quit),0);

/*關(guān)閉socket,結(jié)束這個(gè)連接*/

close(client_sockfd);

printf("\n");

}

return0;

}

3.5應(yīng)用示例說(shuō)明

將上述兩個(gè)程序例子分別在客戶(hù)機(jī)和服務(wù)器上運(yùn)行,sshlisten在遠(yuǎn)程服務(wù)器端運(yùn)行,sshcall在客戶(hù)端運(yùn)行,讀者可以自行驗(yàn)證結(jié)果。注意觀察在服務(wù)器上sshlisten輸出的連接信息,以加深對(duì)端口轉(zhuǎn)發(fā)的理解。

4、OpenSSH資源

OpenSSH的rpm下載:

/pub/OpenBSD/OpenSSH/portable/rpm/RH71/

openssh-2.9p2-1.i386.rpm

openssh-askpass-2.9p2-1.i386.rpm

openssh-askpass-gnome-2.9p2-1.i386.rpm

openssh-clients-2.9p2-1.i386.rpm

openssh-server-2.9p2-1.i386.rpm

OpenSSH的源程序下載:

/pub/OpenBSD/OpenSSH/portable/

openssh-2.9p2.tar.gz

README

INSTALL

TODO

UPGRADING

OpenSSH的使用手冊(cè)查閱:/manual.html

SSH基本協(xié)議的資源(可以在網(wǎng)站查詢(xún)""關(guān)鍵字得到更多):

1.SSHProtocolArchitecture

/internet-drafts/draft-ietf-secsh-architecture-09.txt

2.SSHAuthenticationProtocol

/internet-drafts/draft-ietf-secsh-userauth-11.txt

3.SSHConnectionProtocol

/internet-drafts/draft-ietf-secsh

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論