一.安装ssh服务
在Ubuntu服务器上安装ssh
安装方法:
apt-get install ssh
安装完成后验证是否SSH安装成功
验证方法:
在命令行模式下执行命令:ssh -V
结果显示ssh版本证明成功 二.查看Server端phenix用户家目录下是否存在隐藏目录".ssh"
在安装ssh完成后,进入phenix用户家目录,使用命令:ls -al 查看目录结构中是否存在隐藏目录“.ssh”
若存在,则操作正确,若不存在,解决方法如下:
1,按照步骤一,重新安装一遍ssh服务
2,若安装成功后还不存在".ssh"目录,则使用mkdir .ssh 在家目录下新建一个.ssh目录
一般来说,多数系统在安装完ssh服务后,默认都会自动建立“ssh”隐藏目录,只有少数需要手动创建。 三。Client端生成公钥和密钥
我们使用RSA密钥认证的目的是:从Client端登陆Server端时,不需要密码认证。
所以,我们在进行认证时首先需要在Client端建立属于Client端自己的一对密钥(公钥和私钥),建立方法如下:
在命令行下执行:ssh-keygen
执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),
然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空
执行完毕后,就会生成数据Client端的一对密钥。
执行过程如下图:
SSH 密钥默认储存在账户的家目录下的 ~/.ssh 目录中
关键是看有没有用 xxx_rsa 和 xxx_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
生成的一对公私钥,顾名思义:
公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。 四. 1,将Clinet端公钥的内容复制
2,将复制到的Client端公钥内容,粘贴至Server端刚才创建的 authorized_keys 文件中,保存文件。
3,更改 authorized_keys 文件的权限
执行命令:chmod 600 authorized_keys
Client公钥内容格式大概如下:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzKGjCrHNCPCT96TTl8j1UtJ10V9a3fLIdx6R0upKP2N7FJP82Nni/vmAx7UVDhUNCgyfyG5Y6wK8AK2hOGjKLfLdfyYPojwmx3MF8KTspZBmmYKbHWh6Aem4TskRmsHOSpWeqns7o3tle0Ln1GMmPpdFph/owa7vj5/JYSOCBX8c+gGFyJeAMHGTs1fnHhGZRl5mzu8mWIv+qJnDxRmE/jBtuNXzSrPeZ2Cz86U+DfWtXVRyEl9XoIotX+GZ/zPxvPoMoItWD3UL6aA8McCX/PE7BLFA4B1Nl+mefTVpHH39AqcyqkcAJxntoqeNU3IwaM7sx/J7ONrFxp9Z3fjVR phenix@Client 五.验证无密码登陆
在Client端命令行执行如下命令:
ssh -p12 phenix@10.2.31.33 (本例ssh服务开在了12端口,默认为22)
直接登陆至Server端,表示验证成功。
登陆截图如下 注意事项 ssh-keygen执行完毕后一定要检查下phenix用户家目录下.ssh目录中是否有一对密钥
在将公钥粘贴至Server端后,一定要修改authorized_keys文件的权限为600,否则认证会失败
Server端需要开启SSH服务,不然客户端使用ssh连接不上
- /etc/ssh/sshd_config里面配置修改
- 主要查看这4个参数:
PermitRootLogin yes (如果要用root身份远程登陆系统) StrictModes no (如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆 用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录 和rhosts文件的权限和所有权) PubkeyAuthentication yes (启用公钥认证机制) AuthorizedKeysFile .ssh/authorized_keys (设置私钥文件名,.ssh的目录权限必须是700或者600)
- 配置完成后 阿里云上的服务器必需重启实例