ZH奶酪:Ubuntu客户端通过SSH方式远程登录Ubuntu服务器

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.基于密钥的认证

将公钥复制到远程服务器上;

这样当client登录server时,会向server提出请求,用私钥认证;

server收到请求后,寻找公钥进行身份认证。

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

生成私钥:~/.ssh/id_rsa,公钥~/.ssh/id_rsa.pub

(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时,可以实现两台远程主机之间的文件传输。

例如 scp /home/zone/1.sh 192.168.0.143:/home/erpang 就会从服务器下载1.sh143主机的erpang目录下。

原文链接:http://www.cnblogs.com/xdzone/archive/2011/03/09/1978327.html

原文地址:https://www.cnblogs.com/CheeseZH/p/4579921.html