美文网首页
ssh 停用密码登录

ssh 停用密码登录

作者: RMITcoder | 来源:发表于2018-06-27 21:53 被阅读23次

今天设置ssh 服务器免密码登录发现一个坑,其实也不是坑,就是自己太弱了
环境:阿里云 Ubuntu 16.04.3
公司弄了两台服务器我重新设置一下ssh,之前只有一台有免登陆,但是后来发现另一台应该也上一下
但是两台的话怎么弄呢?我很久没摆弄这些了,看了一下文档,嗯,多个rsa key的话可以用一个config来搞定。说干就干!
我是mac 所以从mac的角度来说
打开terminal 然后一路回车就好了,不需要paraphrase。

  ssh-keygen -t rsa -f ~/.ssh/dev_server_rsa -b 2048

这时候在你电脑上.ssh/下就会出现 dev_server_rsa 和 dev_server_rsa.pub两个文件
你需要登录你的服务器

ssh user@你的服务器IP

然后用filezilla 这个很好用的sftp文件把 .pub的那个东西传到服务器上的~/.ssh/下 改名成authorized_keys
如果已经有了的话就

cd ~/.ssh/
cat dev_server_rsa.pub >> authorized_keys

接着

vi /etc/ssh/sshd_config

找到以下的行

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  %h/.ssh/authorized_keys

把前面的#去掉
接着
把最下面的PasswordAuthentication yes 把yes改成no
保存,退出
然后

sudo chmod 700 ~/.ssh/
sudo chmod 600 ~/.ssh/authorized_keys(这两个chmod 一定要设置)
service ssh restart

exit退出。。。
正题来了,
有2个rsa咋办咧?
好说,在本机的~/.ssh/下

touch config
vi config
然后输入以下内容
Host         x.x.x.x(开发服务器ip)
Port         22
IdentityFile ~/.ssh/dev_server_rsa
User 你登录的用户名

Host         x.x.x.x(生产服务器ip)
Port         22
IdentityFile ~/.ssh/production_server_rsa
User 你登录的用户名
保存,本机重启服ssh
mac如下
sudo launchctl stop/start com.openssh.sshd

再登录。。。。。
ssh user@devserverxxxx
oh!shit !

Permission deniedxxx
怎么肥四。我曹登不进去了
然后用ssh -v user@devserverxxxx debug
发现根本没找到我指定的key文件
这时候需要在本地

ssh-add .ssh/dev_server_rsa
ssh-add .ssh/production_server_rsa

把这两个加进去。。大功告成!

因为日志上显示了 会去寻找类似id_rsa这样的默认key 如果你没有把你自定义的key加进去自然认证失败
还有一个大坑就是。。一定要在setup 完成后,测试一下看要不要密码。。。再关闭密码登录。。。。
怎么看的呢?
ssh -v user@devserverxxxx
用这个登录,就会有这个debug日志给你看

debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/rick/.ssh/id_rsa
debug1: Trying private key: /Users/rick/.ssh/id_dsa
debug1: Trying private key: /Users/rick/.ssh/id_ecdsa
debug1: Trying private key: /Users/rick/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

如果你没关闭密码登录,在rsa失败后会出现。
Authentications that can continue: password这样,然后就开始登录了。

1个小时的debug完毕。。。睡觉!

相关文章

  • ssh 停用密码登录

    今天设置ssh 服务器免密码登录发现一个坑,其实也不是坑,就是自己太弱了环境:阿里云 Ubuntu 16.04.3...

  • linux 文件数据增量同步

    首先配置:ssh免密码登录 ssh免密码登录 同步脚本: /usr/bin/rsync -avz /datamnt...

  • SSH 相关的配置操作

    SSH 免密码登录 这里即A机想通过ssh免密码登录到B机。ssh 无密码登录需要使用到公钥和私钥。一般是在A机上...

  • banwanhost服务器全套

    ssh远程登录 修改root 密码 ssh 登录后,输入命令 passwd root,即可修改root密码 安装s...

  • Ubuntu的ssh

    安装ssh 创建root用户 配置本机无密码ssh登录 spark0免密码ssh登录spark1 spark1免密...

  • 远程登录

    远程登录另一台机器 SSH 原理与运用 用密码登录ssh user@host 密码:user(如ssh stude...

  • ssh免密码登陆远程主机

    ssh免密码登陆远程主机 使用密码登录,每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码...

  • ssh证书登录

    前言 ssh有密码登录和证书登录,密码登录,特别是外网的机器,很容易遭到攻击。真正的生产环境中,ssh登录还是证书...

  • ssh 免密登陆

    密码登录原理: 首先我们来看一下传统的ssh 密码登录的具体过程: 密钥登录原理: ssh 免密登陆实战 实验说明...

  • ssh和scp使用

    ssh客户端基本使用 scp使用 ssh免密码登录 ssh配置别名

网友评论

      本文标题:ssh 停用密码登录

      本文链接:https://www.haomeiwen.com/subject/rbwiyftx.html