ssh,ftp服务器配置
- 基于口令的安全验证:知道服务器的帐号密码即可远程登录,口令和数据在传输过程中都会被加密。
- 基于**的安全验证:此时需要在创建一对**,把公有**放到远程服务器上自己的宿主目录中,而私有**则由自己保存。
- 启用RSA加密方式:RSAAuthentication yes
- 启用公钥配对认证方式:PubkeyAuthentication yes
- 设置公匙文件路径:AuthorizedKeysFile %h/.ssh/<authorized_keys>
- (选择性)密码登陆方式:PasswordAuthentication <yes | no> #禁止密码验证登录,如果启用的话,OpenSSH的 RSA认证登录就失去意义
- (选择性)root远程登录:PermitRootLogin <yes | no>
- 生成密匙:ssh-****** [-t <rsa | dsa>] [-C "comment message"],默认为rsa。
- 拷贝公匙:scp id_rsa.pub 192.168.0.143:.ssh/authorized_keys,确保权限为644。
- 登录:ssh 192.168.0.143 如果执行ssh-******过程中设置了私钥密码,则登录过程中会要求输入私钥密码,否则直接登录完成。
1. 生成公匙/私匙对
- 权限是否是644
- 主机地址是否正确
- 密匙格式是否为OpenSSH,如果不是需要转换格式。密匙加密方式是否和服务端配置一致,RSA/DSA
- 前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
- https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,如果配置SSH key的时候设置了密码,则需要输入密码的,否则不需要输入密码。
$ cd ~/.ssh
$ ls
$ ssh-****** -t rsa -C "[email protected]"
Generating public/private rsa key pair. # Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
Enter passphrase (empty for no passphrase): # Enter same passphrase again:
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
$ clip < ~/.ssh/id_rsa.pub
$ ssh -T [email protected]
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':
Hi username! You've successfully authenticated, but GitHub does not # provide shell access.
1.检查安装vsftpd服务器
以root进入终端后(其他账户进入终端的可以用su root 输入密码后进入root 模式)之后,在终端命令窗口输入以下命令进行验证:# rpm –qa | grep vsftpd。如果结果显示为“vsftpd-1.1.3-8”,则说明系统已经安装vsftpd服务器。若没有回复,即系统中没有安装。
2.rhel版本的系统光盘中带有vsftpd安装包,所以接下来,是挂载系统光盘到/media下以便调取。
3.上述截图显示本系统中没有安装vsftpd服务器,则用rpm命令安装。
即在终端命令窗口中安装vsftpd的命令: #rpm -ivh vsftpd-1.1.3-8.i386.rpm。
(1)先mount光驱,在/mnt/cdrom/Server目录里有rpm,rpm -ivh vsftpd*
4.创建用户
(1)首先要启动服务
(2)创建两个用户
5.vsftpd的配置
安装完之后在/etc/vsftpd/路径下会存在三个配置文件。
vsftpd.conf: 主配置文件
ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。
user_list: 指定的用户是否可以访问ftp服务器,通过vsftpd.conf文件中的userlist_deny的配置来决定配置中的用户是否可以访问,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 这三个配置允许文件中的用户访问FTP。
(1)查看主配置文件的默认配置:
(使用:cat /etc/vsftpd/vsftpd.conf |grep -v '^#';)
(2)修改配置文件:
登录ftp后会发现,用户可以访问其他目录,并且具有mpsp组的权限,这样做是不允许的,我们需要将用户的访问范围控制在其主目录下。方法如下:
a. vi /etc/vsftpd/vsftpd.conf进入ftp配置文件目录并编辑此文件,
b.找到#chroot_list_enable=YES,删除前面的那个#号,表示开启此限制功能;
找到chroot_list_file:chroot_list_file=/etc/vsftpd/chroot_list,删除前面的那个#号,表示开启此限制功能;加入chroot_local_use=NO
(进入编辑框后按i进行开始编辑)
c.进入配置文件后,在末尾加入如下三行:
① userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/vsftpd.user_list
d.禁止匿名用户登录
(编辑完,按esc后使用“:wq”保存并退出)
e. 对一些文件进行编辑
① 在etc目录找到vsftpd.chroot_list文件,进入编辑状态
加入你要限制的用户名,一行一个用户,比如ftp2
(编辑完,按esc后使用“:wq”保存并退出)
②进入vsftpd目录,找到vsftpd.user_list,键入ftp11,意味允许ftp11登陆ftp服务器
(编辑完,按esc后使用“:wq”保存并退出)
再在本机上,通过控制台,用ftp1通过ftp访问系统,用户成功登陆,并且成功的被限制在自己的主目录下,无法访问其他目录。
依次方法创建了2个用户,ftp1、ftp2。
查看ftp状态 sestatus -b | grep ftp:
然后输入:
关闭防火墙:
以下步骤是实现主机和虚拟机的互相ping通:
最终结果: