ssh 无密码登录远程服务器

在讲下文之前,我都默许大家都已经生成了自己的ssh公钥和密钥,在自己的~/.ssh 目录下面,如果没有,请使用 ssh-keygen -t rsa -C "你的邮箱" 命令生成

1,上传自己的公钥到远程主机中

公钥生成后,一般是 ~/.ssh/id_rsa.pub 文件,后面的pub就是public开放的意思,没有pub的就是私钥了

vim ~/.ssh/id_rsa.pub 

打开你的公钥文件,复制到远程主机 ~/.ssh/authorized_keys 文件中

authorized_keys authorized翻译授权的意思,连在一起授权的钥匙,你懂得。

2, 使用ssh 指定登陆用户名,目标主机作为参数 即可实现无密码连接,例如: ssh ubunbu@192.168.0.238

  • 现在你输入ssh 登陆用户名@目标主机,测试是否可以无需密码连接远程服务器,如果不能连接那就不要看下面了。
  • 下面的操作是在你连接远程服务器之后附加的设置

3,使用别名无密码登陆远程服务器

  • 使用 alias 设置指令的别名,在linux命令行中输入 alias 就能看到服务器设置的别名了,有我们常用的ls 等命令
  • 现在我们要设置自己登陆远程服务器的别名,同样这个别名设置也可以用于给别的指令设置别名
  • 找到你服务器的shell环境配置文件,我的shell环境配置文件是 .bashrc
  • 然后在最底部添加连接远程服务器的别名:alias 别名= "你连接远程服务器的命令" 例如: alias s238 = "ssh ubuntu@192.168.0.238"
  • 最后 source 你的环境配置文件,例如: source ~/.bashrc
  • source命令,通常用来执行刚修改的初始化文件,我的理解是让你刚修改的文件马上生效,不用重启系统

最后输入s238,发现是不是可以无需密码连接远程服务器了

如果是多台服务器都一样

posted @ 2015-06-01 20:00  诚人小李  阅读(660)  评论(0编辑  收藏  举报