ubuntu远程登录(SSH)

OS:ubuntu10.10

1.概述

传统的远程登录(telnet,rlogin)时不安全的,他们在网络上用明文传输口令和数据,SSH则是安全的,openssh提供两种级别的验证方式。

(1)基于口令的安全验证:知道服务器的帐号密码即可远程登录,口令和数据在传输过程中都会被加密。

(2)基于密钥的安全验证:此时需要在创建一对密钥,把公有密钥放到远程服务器上自己的宿主目录中,而私有密钥则由自己保存。

2.软件安装

sudo apt-cache policy openssh-client openssh-server检查软件是否安装

服务端:sudo apt-get install openssh-server

客户端:sudo apt-get install openssh-client(ubuntu10.10以安装)

该软件包中还携带了一些其他的SSH工具,如ssh-keygen用来生成私钥/公钥对;scp可以用通过ssh远程复制文件;stfp可以实现的ftp传输文件

3.配置文件

zone@zone-ThinkPad-T410:/etc/ssh$ ls -l

total 148

-rw-r--r-- 1 root root 125749 2010-09-15 02:34 moduli  //ssh服务器的Diffie-Helllman密钥文件

-rw-r--r-- 1 root root   1669 2010-09-15 02:34 ssh_config  //ssh客户端配置文件

-rw-r--r-- 1 root root   2453 2011-03-09 14:09 sshd_config  //ssh服务器端配置文件

-rw------- 1 root root    672 2011-03-09 14:09 ssh_host_dsa_key  //ssh服务器端dsa算法私钥

-rw-r--r-- 1 root root    613 2011-03-09 14:09 ssh_host_dsa_key.pub  //ssh服务器rsa公钥

-rw------- 1 root root   1675 2011-03-09 14:09 ssh_host_rsa_key  //ssh服务器rsa算法私钥

-rw-r--r-- 1 root root    405 2011-03-09 14:09 ssh_host_rsa_key.pub  /ssh服务器rsa算法公钥

4.常用命令

sudo /etc/init.d/ssh start/stop/restart/status

5.基于口令的认证

ssh 192.168.0.143/主机名(server ip 192.168.0.143)

初次登录服务器时会出现许多信息,这是因为ssh不能识别这台主机,输入yes后将会把这台服务器的信息写入~/.ssh/known_hosts文件,下次登录时就不会出现这样的信息。

6.基于密钥的认证

(1)生成密钥 ssh-keygen -t rsa/dsa( 默认rsa)

生成私钥:~/.ssh/id_rsa,公钥~/.ssh/id_rsa.pub,需要将公钥复制到远程服务器上,这样当登录server后,client会项server提出请求,用私钥认证,server收到请求后,寻找公钥进行身份认证

(2)scp id_rsa.pub 192.168.0.143:.ssh/authorized_keys 并确保权限为644。

(3)ssh 192.168.0.143 如果执行ssh-keygen过程中设置了私钥密码,则登录过程中会要求输入私钥密码。否则直接登录完成。

7.scp简单使用

scp ip1:file1 ip2:file2

其中第一个参数是源文件,第二个时目标文件,当参数是ssh登录到的主机时可以省略ip或者主机名。当是两个参数是两台远程主机的ip时,可以实现两台远程主机之间的文件传输。

eg:  scp /home/zone/1.sh 192.168.0.143:/home/erpang   从服务器下载1.sh到143主机的erpang目录下。

posted @ 2011-03-09 15:59  xdzone  Views(...)  Comments(...Edit  收藏