1.主动访问的机器需要创建私钥和公钥 (client)
#cd ~ #mkdir .ssh #chmod 700 .ssh #cd .ssh #ssh-keygen -t rsa //一路回车,各种提示按默认不要改 #ls -la 可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥), 保证文件夹的权限正确否则服务无效
2.被访问的机器配置(server)
#cd ~#mkdir .ssh#chmod 700 .ssh#cd .ssh#touch authorized_keys#chmod 600 authorized_keys将 id_rsa.pub(公钥) 里的内容复制到 authorized_keys 文件中,保证文件夹的权限正确否则服务无效
3. 可能出现的问题和注意事项
3.1 需要关闭 SELinux 服务
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28 如果要临时关闭,可以执行,无效重启服务器# setenforce 0 Current mode: permissive 发生变化的地方红色字体标注 如果要永久关闭,需要重新启动服务器 # vi /etc/selinux/config SELINUX=disabled
3.2 修改vi /etc/ssh/sshd_config 文件
#vi /etc/ssh/sshd_config StrictModes no 修改为no,默认为yes.如果不修改用key登陆是出现server refused our key (如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。 这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。) MaxAuthTries 1 错误提示: Too many authentication failures 默认 1,用户输入密码错误的次数,如果输入密码错误系统将自动锁定N分钟才能解锁重新登录