一、准备工作
1、先准备两台centos机器。例如:192.168.1.100和192.168.1.101两台机器,配置101免密登录100
2、默认centos会自带ssh和stfp,机器未安装,请自行安装。Centos7中默认已经安装了sshd服务(sftp), vsftpd需要手动安装:yum install -y vsftpd
二、创建用户
1、创建sftp组:groupadd sftp
2、100创建一个sftp用户,用户名为mysftp1,密码为mysftp1
useradd -g sftp -s /bin/false mysftp1 //用户名
passwd mysftp1 //密码
3、101创建一个sftp用户,用户名为mysftp2,密码为mysftp2
useradd -g sftp -s /bin/false mysftp2 //用户名
passwd mysftp2 //密码
三、设置免密登录
1、进入100系统的mysftp1用户,生成密钥
ssh-keygen -t rsa
2、将密钥文件复制到101的mysftp2用户下
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 37210 mysftp2@192.168.1.101
或者通过
scp ~/.ssh/id_rsa.pub -P mysftp2@192.168.1.101:~/.ssh //将文件拷贝至远程服务器
然后进入101服务器:
cat ~/pub_key >>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令
3、免密登录测试
进入101主机
ssh mysftp1@192.168.1.100
查看是否能直接登录
四、参考文档
https://www.linuxidc.com/Linux/2016-10/136200.htm
五、遇到的问题
1、添加密钥信息后,登录还是需要密码的问题:
如果100机器不存在authorized_keys文件,现在100机器执行:ssh-copy-id -p 192.168.1.100,生成authorized_keys文件
更改100和101两台服务器~/.ssh/authorized_keys文件的权限:chmod 600 authorized_keys