Linux系统的远程登陆


sshd服务的配置文件为 /etc/ssh/ssh_config   //可以修改这个配置文件来实现你想要的sshd服务。比如你可以更改启动端口为11587.


目前比较常见的终端登录软件有SecureCRT, Putty, SSH Secure Shell等.


下载Putty,可以去官网: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html


Linux配置IP


方一,自动获取IP 

#dhclient

//自动获取IP地址的前提就是本机的Linux所在的网络环境中有DHCP服务。总之,只要你的真机可以自动获取IP,那么安装在虚拟机的Linux同样也可以自动获取IP. 


方二,手动设置IP(直连方式)


vi  /etc/sysconfig/network-scripts/ifcfg-eth0  更改内容如下:

IPADDR=192.168.31.105   //如果是与真机桥接方式上网,就改成和真机同一网段;如果是NAT方式就改成和网卡vmware8同一网段。

NETMASK=255.255.255.0   //掩码根据实际情况来写,笔者曾经犯了一个错误把NETMASK写成NATMASK,导致10.143.183.0网段的掩码显示成8位掩码,实际上24位的掩码。

GATEWAY=192.168.31.1   //如果是与真机桥接方式上网,就改成和真机同一网关;如果是NAT方式,网关就是网卡vmware8的IP地址(可以打开网络和共享中心查到)。

DNS1=192.168.31.1      //DNS可以写成网关地址,重启网卡后会自动把nameserver 192.168.31.1写入/etc/resolv.conf中。另外,笔者曾记遇到一种情况,在/etc/resolv.conf中加入nameserver 192.168.31.1后,过一会儿在看这条配置信息消失了。

DNS2=8.8.8.8           //这条DNS采用谷歌的DNS。

ONBOOT=yes              //表示开机启动。

BOOTPROTO=static        //static表示使用静态IP地址,如果填写dhcp,则表示动态获取IP.


保存配置文件之后,重启网络服务service network restart.


这样网络重启后,eth0 的IP就生效了。使用 ifconfig/ifconfig -a/ifconfig eth0 命令查看一下.


检测配置的IP是否可以ping通网关和公网,如百度。笔者使用的windows7系统,所以使用cmd打开命令窗口,进行检测。打开cmd的快捷键是 windows + r.


注:ping 192.168.31.105  


-t  //表示连续ping,不加-t系统只会ping 5次。


方三,利用vmware的NAT给Linux配置IP 


设置虚拟机上的nat 

Edit –> Virtual Network setting –> NAT –> Vmnet 8 Gateway IP address : 192.168.205.2 Netmask : 255.255.255.0 NAT service: Started –> 确定


修改虚拟机的网卡设置 

双击虚拟机右下角的网卡小图标,鼠标移动过去后会显示 “Ethernet: ...” Device status 那两项都需要打对钩; Network connection 需要选择最后一项(Custom:Specific virtual network) 选择Vmnet8(NAT) 最后点ok


到你的电脑上  

右击”网上邻居” –> 属性 –> 右击 “VMware Network Adapter VMnet8” –> 属性 –> 双击 “Internet 协议(TCP/IP)” –> 手动设置IP为 192.168.205.1 子网掩码为 255.255.255.0 网关 和 dns 都设置为 192.168.205.2 –> 确定 –> 确定


设置你虚拟机IP 

在你的Linux上编辑eth0的配置文件 vi  /etc/sysconfig/network-scripts/ifcfg-eth0 内容如下:


IPADDR=192.168.200.100   

NETMASK=255.255.255.0  

GATEWAY=192.168.200.2   

DNS1=192.168.31.2      

DNS2=8.8.8.8           

ONBOOT=yes             

BOOTPROTO=static 


设置DNS地址 

运行命令 vi  /etc/resolv.conf 内容如下:

nameserver 192.168.200.2


重启网络服务 

运行命令 service  network  restart



用putty登陆Linux


填写远程Linux基本信息 

Host Name (or IP address) 这一栏填写你在上一小节刚刚配置的IP,阿铭的Linux IP为 “10.72.137.85”.


Port 这一栏保持默认不变。


Connection type 也保持默认。


Saved Sessions 这里自定义一个名字,主要用来区分主机,因为将来你的主机会很多,写个简单的名字即方便记忆又能快速查找。


定义字符集 

计算机里最烦人的就是字符集了,尤其是Linux,搞不好就会乱码。安装CentOS时已经安装了中文语言支持,所以安装好的系统是支持中文的,在putty这里设置也要支持中文。点一下左侧的 “Window” –> “Translation”, 看右侧的 “Character set translation on received data”, 选择UTF-8. 之后再点一下左侧的 “Session”, 然后点右侧的 “save”.

远程连接你的Linux 

保存session后,点最下方的 “Open”. 初次登陆时,都会弹出一个友情提示,它的意思是要打开的Linux还未在本机登记,问我们是否要信任它。如果是可信任的,则点 ‘是’ 登记该主机,否则点 ‘否’ 或者 ‘取消’,我们当然要点 ‘是’. 之后弹出登陆提示:


输入用户名以及密码后,就登陆Linux系统了。登陆后会提示最后一次登陆系统的时间以及从哪里登陆。


使用密钥认证机制远程登录Linux


SSH服务支持一种安全认证机制,即密钥认证。所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密;另一个称为密钥(privatekey),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。 ssh的密钥认证就是使用了这一特性。服务器和客户端都各自拥有自己的公钥和密钥。如何使用密钥认证登录linux服务器呢?


1.生成密钥工具:puyttygen.exe


2.生成密钥对 :

双击puttygen.exe, 右下角 “Number of bits in a generated key” 把 “1024” 改成 “2048”, 然后点 “Generate”, 这样就开始生成密钥了,请来回动一下鼠标,这样才可以快速生成密钥对,大约十几秒后就完成了。 

“Key comment:” 这里可以保持不变也可以自定义,其实就是对该密钥的简单介绍; 

“Kye passphrase:” 这里用来给你的密钥设置密码,这样安全一些,当然也可以留空,建议设置一个密码;”Confirm passphrase:” 这里再输入一遍刚刚你设置的密码。


3.保存私钥


点 “Save private key”, 选择一个存放路径,定义一个名字,点 “保存”。保存到一个比较安全的地方,谨防丢掉或被别人看到。


4.复制公钥到Linux 


回到刚才生成密钥的窗口,在 “Key” 的下方有一段长长的字符串,这一串就是公钥的内容了,把整个公钥字符串复制下来。然后粘贴到你的Linux的/root/.ssh/authoried.conf文件里。

#mkdir -pv /root/.ssh/

#chmod  700  /root/.ssh/

#vi  /root/.ssh/authorized.conf

//把公钥信息放进文件authoried.conf中,注意公钥尾部的名称,各异根据这个名称来识别公钥。


5.关闭Selinux 

方法一:

#getenforce    //得到Selinux信息。

#setenforce  0  //临时关闭Selinux信息。这个只是暂时命令行关闭selinux, 下次重启Linux后selinux还会开启。


方法二:

#vi /etc/Selinux/config

Selinux=disabled     //把Selinux改为disabled。另外,enforcing表示执行,permissive表示自由的。

#reboot     //更改之后保存重启。


6.设置putty通过密钥登陆 


打开putty.exe点一下你保存好的session,然后点右侧的 “Load”, 在左侧靠下面点一下 “SSH” 前面的 + 然后选择 “Auth”, 看右侧 “Private key file for authentication:” 下面的长条框里目前为空,点一下 “Browse”, 找到我们刚刚保存好的私钥,点”打开”。此时这个长条框里就有了私钥的地址,当然你也可以自行编辑这个路径。然后再回到左侧,点一下最上面的 “Session”, 在右侧再点一下 “Save”.


7.使用密钥验证登陆Linux 

保存好后session, 点一下右下方的 “Open”. 出现登陆界面,你会发现和原来的登陆提示内容有所不同了。


login as: root

Authenticating with public key "rsa-key-20130509"

Passphrase for key "rsa-key-20130509":

Last login: Thu May  9 16:17:13 2013 from 10.72.137.43

[root@localhost ~]#

注:现在不再输入root密码,而是需要输入密钥的密码,如果你先前在生产密钥的时候没有设置密码,你输入root后会直接登陆系统。