实现ssh自动登录

标签: linux 运维
12人阅读 评论(0) 收藏 举报
分类:

 

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,否则无法实现信任。

查看评论

SSH项目实战培训精讲

-
  • 1970年01月01日 08:00

ssh2+注解+filter+cookie实现自动登录功能。

把这些内容记录下来,以后可以拿过来就用。 我做的这个功能是在登录时点选自动登录的checkbox,当登录成功能后会在本地生成一个cookie记录用户数据,以便下次用户不用再次登录。 项目整体的框架才用...
  • wsadzxcleg
  • wsadzxcleg
  • 2016-01-17 11:11:42
  • 1504

shell脚本实现ssh自动登录

功能: shell脚本实现ssh自动登录, 里面有些注释掉的是编写时遇到的一些问题和调试信息 代码如下: fwqs_ssh.sh 脚本内容, 说明: LOGIN_FWQ: 登录账户名 LOGIN_...
  • xuecz1230
  • xuecz1230
  • 2016-12-30 09:38:51
  • 2382

SSH实现无密码自动登陆

SSH广泛用于脚本自动化。借助SSH,我们可以在远程主机上执行命令并读取输出。SSH使用用户名和密码进行认证。在SSH命令的执行过程中提示输入密码。但是在自动化脚本中,SSH命令可能在一个循环中执行上...
  • wenwenxiong
  • wenwenxiong
  • 2015-07-14 19:54:51
  • 2504

linux expect用法之ssh远程自动登录

shell脚本实现ssh自动登录远程服务器示例:#!/usr/bin/expect set timeout 30 spawn ssh root@192.168.12.1 expect "root@19...
  • qq_17280755
  • qq_17280755
  • 2017-01-06 11:22:26
  • 2613

使用cookie,session,filter等技术实现用户自动登录

预期的效果: 以百度为例: 一: 登陆界面,显示下次自动登录---选中 二:点击登录,完成登录实现跳转。。。 三:关闭页面:重新打开百度。。。 四:实现自动登录。。...
  • wangchong199358
  • wangchong199358
  • 2014-01-02 22:38:02
  • 2250

自动ssh登录的几种方法

自动ssh登录的几种方法1. 自动ssh/scp方法==A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都...
  • netzsm
  • netzsm
  • 2007-09-13 02:31:00
  • 5633

linux下ssh工具自动登录的实现

实现步骤: 1、创建私钥、公钥(一直默认就好,三个回车) ssh-keygen -t rsa  2、把公钥 id_rsa.pub 复制到远程机器上:authorized_keys是复制过去之后文件名(...
  • Reserved_person
  • Reserved_person
  • 2017-06-07 13:55:42
  • 1303

shell脚本实现无密码交互的SSH自动登陆

ssh连接远程主机时候询问密码,跟su、sudo命令的默认行为一样,是不从stdin读入数据的,据称是为安全考虑,但是有时候在脚本当中确实需要无人守值的登陆。 搜索一下不难找到类似的例子,使用e...
  • dai451954706
  • dai451954706
  • 2013-12-06 14:55:04
  • 3997

expect ------提供用户名和密码的SSH自动登录脚本

使用VPN,每次都要在Terminal上重复输入命令: ssh -D port user@host 出来密码提示符后,把复杂的密码拷贝下来,然后粘贴到Terminal,敲回车...   终于忍...
  • crazyhacking
  • crazyhacking
  • 2014-01-15 11:31:43
  • 11122
    个人资料
    持之以恒
    等级:
    访问量: 1520
    积分: 149
    排名: 113万+
    文章分类