ubuntu下ssh远程登录

来源:互联网 发布:数组.length 编辑:程序博客网 时间:2024/05/09 05:53
实现两台ubuntu14.04电脑的免密钥ssh登录

首先准备两台电脑(一台也行,可以使用两个账号),电脑A和电脑B。现配置A免密登录电脑B的root用户。

1. 在两台电脑上都安装ssh

- 使用sudo apt-get install openssh-server指令安装ssh。
- 使用ps -e | grep ssh 查看是否开启ssh,如果没有使用sudo service ssh start开启ssh。
- 保证两台电脑都安装了ssh。
- 这是可以用电脑A登录电脑B的root账号,但此时需要密码才能登录。

2. 将电脑A的公钥加入电脑B的配置上


所谓"公钥登录",原就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

- 在电脑A上执行ssh-keygen -t rsa创建公钥和私钥,保存为$HOME/.ssh/id_rsa,此时不要选择密钥短语
- 使用scp /root/.ssh/id_rsa.pub root@电脑BIP:/root 将电脑Aroot用户的公钥拷贝到电脑B的root目录下。
- 在电脑B上的root家目录下创建.ssh文件。mkdir .ssh
- 将拷贝过来的电脑B的公钥放到.ssh目录下,并命名authorized_keys。cat id_rsa.pub >> .ssh/authorized_keys
- 修改.ssh文件夹的权限。chmod -R 600 .ssh

- 这时就可以在电脑A下使用对应的用户免密钥登录电脑B并使用root权限


3.这样的配置能够登录普通的用户,还是不能以root的身份登录

亲手安装过Ubuntu的童鞋都知道,默认安装只会添加一个普通用户名和密码,而超级用户权限则是利用sudo命令来执行。在Ubuntu下使用root登陆或者在shell中用su命令切换到root时会提示错误“认证失败”。因为在安装过程中就没有启用root,也没有给它分配口令。


- 为root设置密码:sudo passwd root,之后会提示要输入root用户的密码,连续输入两次需要设置密码。
-.将 /etc/ssh/sshd_confg中PermitRootLogin without-password  改为PermitRootLogin yes,重新启动ssh服务。

这样就可以登录root用户了

0 0
原创粉丝点击