当前位置 主页 > 服务器问题 > Linux/apache问题 >

    阿里云服务器ssh连接,ssh无须密码直接连接阿里云服务器

    栏目:Linux/apache问题 时间:2021-01-16 11:49

         从自己的Mac电脑连接阿里云服务器的时候总是要打一个命令,很是麻烦:
    $ sudo ssh 121.42.169.178
         接着输入sudo的密码,再输入服务器的密码,这才能登陆上去,我想起以前用过的一个方法能够免密码登陆,阿里云服务器可以不可以这样呢?
         说一下免密码登陆的原理吧,就是把自己的生成的公钥(公钥不知道是什么的可以的百度)里面的内容放到服务器.ssh目录下的authorized_keys文件中,这个文件默认不存在必须手动创建。
         于是,我开始了这一些列操作,但是操作结束了我发现还是要密码登录,这是为什么呢?
         经过网管的多方查证,发现阿里云目录下的.ssh目录权限不对,我们先进行一下备份,再把原来备份文件夹里的authorized_keys复制过来
    mv .ssh .ssh.bak
    cp .ssh.bak/authorized_keys ./.ssh/
         但是发现还是不行,这是为什么呢?
         网管问了我一句,你这个authorized_keys里的内容复制粘贴的吗?我说对啊,他说可能是有换行(尴尬),换行!!!
         我们只能切换回自己的用户,scp一个公钥到服务器上把文件内容覆盖:
    scp .ssh/id_rsa.pub root@121.42.169.178:/root/.ssh/authorized_keys
         这样我们再进行登录,发现果然不需要进行服务器密码输入了,但是发现需要我自己root才行,这个是为什么呢?
    ssh 121.42.169.178
    piqiu@121.42.169.178's password: 
    Permission denied, please try again.
         原来我自己现在的用户是piqiu,要想直接连接远程服务器,必须对方的用户也和我一样,但是对方是root,所以有两种解决办法:
    1、自己把root下面的.ssh的公钥复制给服务器,然后每次sudo了再ssh登录。
    2、自己把当前用户下面的.ssh的公钥复制给服务器,然后每次直接ssh登录,但是登录的服务器地址为root@121.42.169.178
         因为我复制的是当前用户下面的公钥,所以我直接这个命令就可以连接到远程服务器了,是不是很方便:
    ssh root@121.42.169.178
    Last login: Tue Mar 29 10:10:27 2016 from 219.141.174.66
    Welcome to aliyun Elastic Compute Service!
    下一篇:没有了