SSH 用户身份验证和控制 1.root@192.168.0.122 远程连接到192.168.0.122这个IP地址所代表的主机上。 在每个用户主目录下都有一个.ssh的隐含文件,进入之后,运行命令ssh-keygen会产生id-rsa私钥(相当于密钥) id_rsa.pub公钥(相当于鎖) authorized_keys 然后你通过 ssh-copy-id -i id_rsa.pub 192.168.0.22 传给对方主机上的.ssh目录中,这样你每次要连接的时候,只需要开一次鎖就可以啦!(1)ssh-keygen <Enter> <Enter> <Enter> ssh-copy-id -i id_rsa.pub 192.168.0.22 可以通过ssh 192.168.0.122命令以student的身份连接到对方的主机上 (2) 需要口令才能进去的, ssh-keygen <Enter> 接下来你可以输入两遍你要设置的密码, ssh-copy-id -i id_rsa.pub 192.168.0.22 测试: ssh 192.168.0.22 输入密码 (3) 加代理服务器和口令的 ssh-keygen <Enter> 接下来你可以输入两遍你要设置的密码, ssh-copy-id -i id_rsa.pub 192.168.0.22 ssh-agent ssh-agent bash ssh-add 测试: ssh 192.168.0.22 这样你只需要输入一次密码,退出后再连接就不需要再次输入口令了,但是你在关闭该shall的时候在打开一个新的shell终端的就不行了,还需要从新添加代理。 2 排错处理: 将拥有公钥的那台主机的/etc/ssh_host_*删除,然后/etc/init.d/sshd restart ,之 后在连接的时候就会出现好多@@@@@,这是因为你每次链接的时候客户机和服务器之间会拿/etc/ssh_host_*的文件与拥有私钥的那台主机上的. ~/.ssh/known_hosts进行对比,之后你删了在产生的就不符合了,所以肯定连不上了。 解决办法:将拥有私钥的那台主机上的 ~/.ssh/known_hosts删除,然后重新传一遍公钥。 ssh连接不上,安装openssh-client 即可 3.关于ssh一些配置文件的修改问题假设设置的在192.168.0.122上 vi /etc/ssh/ssd_config (1) PermitRootlogin yes 默认是yes,意思是允许其他主机以root身份ssh连接到本机,若是no,意思就是不允许以root身份登录到本机 (2)AllowUsers student 意思是只允许以student身份登录到本台机子。不允许以其他身份登录 ssh student@192.168.0.22 可以连接到 ssh root@192.168.0.22 连接不上(3)Password Authentication yes 默认是yes,意思是允许通过密码登录 若no,意思就是说不允许以密码登录,那么你只能通过ssh密码密钥设置访问,这样你就不用输入密码了,做实验的时候注意在设置好ssh之后在改动好你的SSH 4. ssh -x student@192.168.0.122 firefox 这条命令会在192.168.0.122 那台主机上以student身份×××firefox。在你的电脑上显示出来,对方可能看不到,可是查看本机进程就会发现 5.vi /etc/motd 写的内容会在你通过ssh连接到你的机子上时的时候显示出来。 6.关于ssh链接对方主机显示ssh: connect to host 192.168.0.24 port 22: No route to host 有以下几种可能性:(首先要注意将iptables 和selinux都要关闭哦!) (1)检查对方主机是否可以ping 通 (2)查看出错方在哪里,看你本机连其他的机子是否有问题,排查错误主机设置, 有可能是对方主机的/ect/hosts.allow或者/etc/hosts.deny的设置,又或者是/etc/xinetd.conf中的设置, (3)查看/etc/sshd/sshd_config下面有没有设置将端口号分配的问题! VNC 简单使用 一、 1、 (1)运行命令 vncserver。若已安装了vncserver,则需设定vnc密码,若未安装 vncserver,则用命令yum install tigervnc-server -y 即可,如果已经被设置vnc密码了,那么你就不可以重现设置了,只能通过vncpasswd 来修改你的密码了。密码存放位置 ~/.vnc/passwd 。 测试: 在vnc客户端连接 vncviewer -shared -viewonly 192.168.0.115:1(注意在链接的时候将iptables和selinux关闭) (2)给某些用户分配特定的登录端口。 步骤1. 在虚拟机上用 vi /etc/sysconfig/vncservers VNCSERVERS="2:student 3:hello"(意思是将服务器上的2号端口分配给student,3号端口分配给hello,意思是你在真机上用 vncviewer 192.168.0.115:2 时是以第二号端口的student身份登录到服务器上的机子的) 注意: 有一点你要注意的是: 你如果把2号端口给student,3号端口给sushan,那么你在服务器(上的应该分别以student和hello身份分别运行命令 vncserver 命令,然后可能会产生一些端口,你应该随之将该端口杀死,eg: vncserver -kill :1 2. /etc/init.d/vncservers restart 重启服务 测试阶段: 在你的真机上连接: vncviewer 192.168.0.115:2 (这样你就会连接到服务器上的以student身份登录的界面) vncviewer 192.168.0.115:3 (这样你就会连接到服务器上的以hello身份登录的界面) 附加: 要想设置开机启动,用 chkconfig --list vncserver(查看) chkconfig --level 5 vncserver on(在运行级别五开启) 二.为了安全性,可以和server似的设计密码 此时你可以通过ssh-keygen ssh-copy-id -i id_rsa.pub root@192.168.0.115 等一系列设置ssh-的密码,在真机上执行, 在你服务器上 vi /etc/sysconfig/vncservers VNCSERVERS="2:student" 重启服务。 测试: vncviewer -via root@192.168.0.115 192.168.0.115:2 root@192.168.0.115 :目的就是通过ssh来设置密码的。因为你把密码传给root,了,所以是root@192.168.0.115 。如果你把密码给student了,那么你 student@192.168.0.115 传送了。 三. vncserver -geometry 1024x748 (设置练到服务器上的分辨率) 四. 注意: 在做完一次试验后,如: vncviewer 192.168.0.115:2 (这样你就会连接到服务器上的以student身份登录的界面) 那么就会在你的服务器上开启了端口2,在student用户下,而如果你在尝试做另外一次试验的时候,那么在你重启服务的时候/etc/init.d /vncserver restart 会显示失败ve。因为这时在你的student身份下会开启了2号端口,你应该将该端口杀死,再去做实验的。你应该切换到student身份下(虚拟机上),用vncserver -kill :2 杀死,在做试验。(这就是之前提到的为何每次运行vncserver后要kill 掉之前的端口号)