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后会直接登陆系统。