1、SSH客户端安装客户端安装SSH工具Windows客户端安装Putty、XShell、SecureCRTLinux客户端yuminstallopenssh-clientsmacOS客户端默认已经安装SSH客户端2、SSH服务器安装server安装SSH服务安装SSH:yuminstallopenssh-server启动SSHsystemctl启动(或重启)sshd3。设置开机运行SSHsystemctlenablesshd4。查看SSH状态systemctlstatussshd3。客户端通过SSH连接服务器#连接到远程服务器sshroot@172.20。10.24、使用config文件配置SSHconfig文件可以配置SSH,方便批量管理多个SSH连接。全局config文件可以在config文件manual#SSHserverconfigfilemanualmansshd_config#SSHclientconfigfilemanualmanssh_config1中查看。clientconfig文件常用配置参数clientconfig参数功能HostaliasHostName远程主机名(或IP地址)Port连接远程主机的端口用户用户名配置如下~/.ssh/configHostguuguoHostName172.20.10.2Port22Userroot设置完成后,我们可以简化登录,如下:sshguoguocreatesalocalconfigfile#一般将~/.ssh/config的权限改为600chmod600~/.ssh/config2。服务器全局config文件常用配置参数serverconfig参数作用defaultportsshd服务端口号22PermitRootLogin是否允许root用户登录允许PasswordAuthentication是否允许密码认证登录允许PubkeyAuthentication是否允许公钥认证登录PermitEmptyPasswords是否toallowemptypasswordlogindefaultnotallowed#如果用户的home目录下没有.ssh目录,使用下面命令生成.ssh目录sshlocalhost总结:SSHconfig文件可以帮我我们将SSHconfig文件配置为一个全局配置文件和一个本地配置文件。全局配置文件将对所有用户生效。修改全局配置文件后,重启sshd服务,立即生效。5、SSH免密码登录5.1认证方式基于密码基于密钥客户端生成密钥对(公钥和私钥),将公钥上传到服务器,与服务器的公钥进行比对.这种验证登录的方式比较安全,也称为“公钥验证”。登录5.2公钥验证登录步骤在客户端电脑创建密钥对(公私钥对)使用ssh-keygen生成密钥对(默认RSA非对称加密算法)ssh-keygen#相当于ssh-keygen-之后trsa执行后,会在~./ssh目录下生成id_rsa和id_rsa.pub文件,并将公钥上传到服务器(默认会上传公钥到服务器)ssh-copy-idroot@172.20.10.2#相当于ssh-copy-id-i~/.ssh/id_rsa.pubroot@172.20.10.2现在我们可以使用下面的命令直接登录服务器,不需要密码验证。ssh根@172.20.10.25.3。公钥认证登录ssh-copy-id会将客户端的公钥附加到服务器上的一个文件authorized_keys中,路径:~/.ssh/authorized_keys5.4设置SSH免密码后,我还是想用密码登录#密码登录,禁用key登录ssh-oPreferredAuthentications=password-oPubkeyAuthentication=nouser@172.20.10.2总结为了避免每次使用SSH协议连接远程机器都要输入用户名和密码的麻烦,我们可以创建一个密钥对publickey用于身份验证需要上传并存储在远程机器上。私钥存储在我们自己的电脑中后,我们的SSH连接就不再需要输入密码了。
