实现ssh自动登录

 

ssh 登录可以使用公钥认证(ssh public key authentication)。

将客户端机器的ssh public key添加到服务器的 ~/.ssh/authorized_keys 文件中,可实现ssh的免密码登录。

这样做使得登录服务器更加安全和快捷。

客户端生成公钥和私钥

生成一个名为test的公钥和私钥对,密码留空不输入。具体的说明请看这里: ssh-keygen 基本用法

[huqiu@101 ~]$ cd .ssh/
[huqiu@101 .ssh]$ ssh-keygen -t rsa -f test -C "test-key"
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

查看公钥内容

[huqiu@101 .ssh]$ cat test.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAQEAogyXOlD77fWF0bTm0r2HrRf8SKPKWjSv4pZKPZfBHOSZI8B0EDGr5/dpsMCPHUcZBt9v5BgJvLao/znBabap6TWt1yuStDh2rnzXY5uTFah0AiMlnQ7DhjkcctdLfLErz1V2jFTXEC2oGOanLoObpHV+LyeXkn/+i0VekT3QiULSkpzK/gsCtaLmaHLbGxv4GGGAoHtTZrfw09hGo47AeiyxzczcBa7TPXSATVPtCStWk+jzMcIyTyxcE7ORIsClN5xNLnbXiEQF5jOcP0qbjAmOH256E565VFh2WC8srjadfUm6jZLEiE5w7lp2/3rRynAsnF0zjEONE9aPUPhiNw==
test-key

配置公钥到服务器

将公钥内容添加到服务器的~/.ssh/authorized_keys 文件中.

alias 实现命令快速登陆

做好配置之后,通过ssh可以直接登录了。对经常登录的服务器,可以将ssh登录命令的alias加到 ~/.bash_profile文件中。

$ cat ~/.bash_profile | grep 101
alias to-101='ssh huqiu@192.168.154.101'

登录的时候:

$ to-101

无法登录一般的原因

  • 客户端的私钥和公钥文件位置必须位于 ~/.ssh 下。
  • 确保双方 ~/.ssh 目录,父目录,公钥私钥,authorized_keys 文件的权限对当前用户至少要有执行权限,对其他用户最多只能有执行权限。
    注意git登录,要求对公钥和私钥以及config文件,其他用户不能有任何权限。
  • 服务器端 ~/.ssh/authorized_keys 文件名确保没错 :).

ssh-copy-id

ssh-copy-id 是一个小脚本,你可以用这个小脚本完成以上工作。这个脚本在linux系统上一般都有。

以上内容来自 <https://www.liaohuqiu.net/cn/posts/ssh-public-key-auto-login/>


注意,在完成上述工作后,需要手动修改.ssh的权限,包括文件夹权限,以及..权限,都设置为700,否则无法实现信任。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值