美文网首页Unix/Linux服务器技术分享
SSH免密码登陆和免ip连接

SSH免密码登陆和免ip连接

作者: mr_franklin | 来源:发表于2016-07-30 22:22 被阅读5568次

什么是SSH

SSH(Secure Shell)是一种提供网络安全的传输协议。它保证了在网络上的数据并非明文传输,目前使用SSH登录远程终端已经是通用方式。

SSH登录时有两种验证方式

  1. 基于密码的安全验证,它要求用户在每次登录服务器时输入密码,服务器端验证通过后即登录成功。
  2. 基于密钥的安全验证,客户端的公钥会预先保存在服务器端,当登录时,服务器端会使用该公钥做验证,如果验证成功,用户不需输入密码即完成登录。

为了避免每次都输入密码这种重复性工作,我们选择第二种方式进行远程登录。

基于密钥登录的配置步骤

  1. 在本地终端生成密钥对。
ssh-keygen // 加密方式默认使用RSA,可以通过 “ssh-keygen -t 加密方式” 指定加密方式

生成过程中会询问设置密钥对的保存位置和打开密码。按enter键使用默认设置即可。此时会在"~/.ssh"目录下生成名为id_rsa和id_rsa.pub的私钥文件和公钥文件。

  1. 使用密码登录到服务器端,将公钥字符串copy到"~/.ssh/authorized_keys"文件内。
vi ~/.ssh/authorized_keys
// copy 公钥字符串

如果.ssh目录尚未建立,需要先创建并且修改权限:

mkdir ~/.ssh
chmod 700 ~/.ssh
  1. 如果authorized_keys文件是新创建的,需修改文件权限
chmod 600 ~/.ssh/authorized_keys
  1. 验证是否设置成功
ssh username@server-ip

此时应该能够跳过输入密码的提示,直接登录到远程终端。如果仍然需要输入密码,最有可能的原因是上面第三步文件权限配置的有问题。

配置服务器别名,使用别名代替ip地址

虽然经过上面的配置,我们不用在每次登录时都输入密码。当仍然需要我们输入用户名和服务器ip。有没有可能把这一步骤也省略呢?答案是肯定的,通过配置服务器别名的方式,登录时只需输入别名即可。

  1. 打开~/.ssh/config文件,添加以下内容:
Host server-alias           # server-alias为SSH链接的服务器别名
  HostName server-ip  # 服务器地址
  Port 22
  User username           # 服务器端用户名
  PreferredAuthentications publickey 
  IdentityFile ~/.ssh/id_rsa   # 私钥地址,默认为 ~/.ssh/id_rsa
  1. 验证
    以后即可通过以下命令登录远程服务器
ssh server-alias

如果登录未成功,请仔细检查每项的配置是否正确。

总结

经过上述配置,有效的简化了登录操作,会为我们节省不少时间。更重要的是,所有底层使用SSH的程序,都因此而简化了操作步骤。比如:

  1. 用于传输文件的scp和rsync命令。只需输入:
scp file server-alias:/dir
  1. 如果服务器端上配置了git远程仓库,只需输入:
git clone server-alias:/git-repo

你会发现除了使用简易的别名代替了ip地址外,输入密码的步骤也被省略掉了!

相关文章

  • SSH免密码登陆和免ip连接

    1.本地设置 我们假设原来在~/.ssh目录下已经生成了一个密钥对: 1.1 生成第二个key 接下来我们生成第二...

  • SSH免密码登陆和免ip连接

    什么是SSH SSH(Secure Shell)是一种提供网络安全的传输协议。它保证了在网络上的数据并非明文传输,...

  • SSH登录

    SSH免密码登陆 利用本地机器ssh到其他Linux主机是非常频繁的事情,这里简单总结一下Mac如何ssh连接和免...

  • linux ssh 免密登陆排查技巧

    场景: 使用ssh免密登陆配置的时候。做了相关配置之后,尝试ssh免密登陆,还是提示输入密码,无法免密登陆。也没有...

  • Linux 使用问题集锦

    ssh 远程免密码登陆 将本地公钥到服务器 命令行获取外网IP

  • ssh免密登陆linux服务器&别名登陆

    鉴于在终端登陆linux服务器,每次都要输入用户名,IP和密码,甚麻烦。故利用ssh免密登陆以及利用别名登陆。 一...

  • 最全操作git命令,快速手册

    设置账号和密码 本地生成.ssh密钥 免登陆 .ssh目录的权限必须是700 .ssh/authorized_ke...

  • MAC终端 SSH 登陆: Enter passphrase f

    需求:SSH免密码登陆 利用ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"生...

  • linux 文件数据增量同步

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

  • ssh免密码登陆远程主机

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

网友评论

    本文标题:SSH免密码登陆和免ip连接

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