一、检查CentOS是否开启了ssh服务
systemctl status sshd.service //检查ssh服务状态
systemctl start sshd.service //启动ssh服务
systemctl restart sshd.service //重启ssh服务
systemctl enable sshd.service //开机ssh自启
systemctl stop sshd.service //关闭ssh服务
二、在客户端生成公钥-私钥对
用finalshell的时候,可能要求私钥是PEM格式的,需要加上 -m PEM 参数
命令如下:(生成后windows文件路径 C:\Users\用户名.ssh)
ssh-keygen -m PEM -t rsa -C "随便写个注释,写英文"
三、更改服务器(CentOS)配置文件
ssh的配置文件在如下:
vim /etc/ssh/sshd_config
下面的参数可能被注释了;解注释,修改一下几个参数
RSAAuthentication yes //开启使用RSA算法的基于rhosts的安全验证
PubkeyAuthentication yes //开启公钥免密登陆
AuthorizedKeyFiles .ssh/authorized_keys //等会要上传公钥,这个就是等会要上传公钥的绝对路径
//比如是root用户,路径是/root/.ssh/authorized_keys
//注意:authorized_keys是你上传公钥文件的名字,不是个文件夹
StrictModes no //关闭ssh在接收登录请求之前先检查用户家目录和rhosts文件的权限和所有权
保存退出
四、上传公钥到服务器
比如在windows下,id_rsa.pub是公钥,用记事本打开,复制,然后粘贴到服务器 /root/.ssh/下的authorized_keys文件中,保存。
可能会存在root下没有.ssh文件夹和authorized_keys文件的情况, 自己新建就行,这是因为以前没有用ssh登陆过造成的
新建文件注意:给文件设置权限,否则会因权限访问失败,命令如下
chmod 700 /root
chmod 650 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
然后重启ssh服务,命令在第一部分
五、使用远程工具连接(finalshell为例)
新建ssh连接
导入win下和公钥一起生成的那个私钥