配置ssh远程登录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置ssh远程登录相关的知识,希望对你有一定的参考价值。
参考技术A 本地和远程服务器都创建在创建密钥的时候,可以定义加密类型和长度,具体可以参考ssh-keygen命令帮助。创建的过程中,首先会提示你 保存的位置 和 文件名 ,再提示你 给密钥加个密码 ,也可以直接回车不要密码。
公钥和私钥默认保存这用户目录的 /.ssh/ 文件夹下。默认情况下, id_rsa 为私钥, id_rsa.pub 为公钥。
此时 还是需要用用户名和密码登录远程Linux服务器。使用vi编辑 /etc/ssh/sshd_config 文件,先打开 PubkeyAuthentication 和 PermitRootLogin ,一般只要把这几个参数前面的#(注释符)删掉即可。
重启ssh服务
在macOS端操作以下命令,把公钥上传到远程服务器,会提示输入远程的Linux服务器的密码。
在远程Linux服务器上,操作以下命令,把公钥 追加 到服务器ssh认证文件中:
如果没有 authorized_keys 这个文件,请到 .ssh 文件夹下创建一个,并把权限设置为600。
追加好后,如果要禁止用户名密码登录,再编辑 /etc/ssh/sshd_config 文件,把 PasswordAuthentication 设置为no。
重启SSH服务(每次修改ssh配置都需要重启)
如果没有设置密钥密码,直接这终端输入 ssh root@IP 即可登录远程服务器。如果该用户下没有公钥,则会提示Permission denied。
CentOS 配置远程主机ssh免密登录
ssh针对的是用户不是机器,同一机器不同用户需要单独配置ssh,才能实现该用户的免密登录
cd ~
cd ./.ssh
在./ssh目录下生成公钥与私钥(如果没有.ssh先使用ssh命令连接到一台远程主机后退出就会生成./ssh)
ssh-keygen -t rsa
接下来就是把公钥拷贝到需要远程连接的主机上
ssh-copy-id 主机名
之后执行ssh 主机就可以免密登录了,此外ssh连接用的22号端口默认是开放的,所以不用担心防火墙的问题
当ssh无法连接时,可以先尝试能否ping通,然后检查/etc/hosts文件,如果要在本机上执行hadoop的mapreduce程序,还需要要执行下ssh-copy-id 本机
以上是关于配置ssh远程登录的主要内容,如果未能解决你的问题,请参考以下文章
配置Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录