`
quanminchaoren
  • 浏览: 911342 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux SSH远程登录自动验证(不输入用户登录密码)的实现

 
阅读更多

由于工作关系,经常需要在非常不同的Linux服务器上转上转去,每次登陆,系统都会提示输入密码,是一件很烦的事情。后来,用SSH证书认证来取代普通的密码认证,就不用每次都输入密码了。OpenSSH允许 远程执行命令,如果再加上证书使用,可以运行一些远程控制的脚本去控制许多许多机器,这个对工作非常有用。

下面我们正式来创建证书:
首先,我们要给远程服务器创建一个公钥(public key)。在你的Linux系统上打开一个命令终端,运行如下命令:

# ssh-keygen -t rsa  (这里也可以将RSA改成dsa,)
Generating public/private rsa key pair.
Enter file in which to save the key (/home/calvin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/calvin/.ssh/id_rsa.
Your public key has been saved in /home/calvin/.ssh/id_rsa.pub.

在这一步里,系统将自动生成一个公钥(public key)并保存在/home/calvin/.ssh/id_rsa/.pub这个文件里面。在上面的命令执行过程中,我们只需要一直敲回车直接使用默认 值就好了(如果你想具体了解,可以去看man page,也可以私下跟我讨论)。

接下来,我们要将这个公钥(public key)复制到远程机器上面去,以前这是一个比较麻烦的事,但是,现在我们只要一个命令就可以搞定:

# ssh-copy-id -i /home/calvin/.ssh/id_rsa.pub username@@remoteserver.com

用自己实际的用户名与服务器地址取代username和remoteserver.com(下同),也可以直接填服务器的IP。
在这里,你可以再试下ssh到远程服务器,应该是不会再提示要密码而直接登陆进去了。

当然,如果你的机器没有ssh-copy-id这个命令,我们也可以使用传统的方法:

# scp ~/.ssh/id_rsa.pub username@remoteserver.com:/home/username

然后,登陆到远程机器上进行下一步的操作:

# ssh username@remoteserver.com
# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2

接下来,我们要给~/.ssh/authorized_keys2 correctly这个文件设置正确的权限(权限不对,证书会被拒绝)

# chmod 644 ~/.ssh/authorized_keys2
分享到:
评论

相关推荐

    linux Ubuntu下SSH无密码验证配置的方法步骤

    越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ssh无密码验证配置。 一. 准备工作 首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,...

    ssh配置手册.doc

    SSH 能够为整个通信通道提供加密,其中包括登录和密码凭据交换,它与公钥和私钥一起使用可以为登录提供自动化身份验证。您还可以将 SSH 用作基础传输协议。以这种方式使用 SSH 意味着在打开安全连接后,加密通道可以...

    Linux攻略 让SSH不再输入密码的实用技巧

    在复制/移动文件从一台机器到另一台机器时会用到scp,因为它比较安全。但如果每次都要输入密码,就比较烦,尤其是在script里。不过ssh有另一种用密钥对来验证的方式。本文给出了生成密匙对的过程,供大家参考。

    超详细的ssh(secure shell)服务介绍、搭建、配置、实战讲解 —— 超级干货!

    写在开头的话ssh的基本概念ssh的登录验证模式账户密码验证格式密钥对验证ssh(secure shell)的服务搭建Linux服务器的...验证Windows使用密钥对登录Linuxssh(secure shell)服务的配置文件说明禁止使用密码登录禁止使用...

    开源ssh客户端,免费的

    此外,electerm还集成了SFTP远程文件管理与ssh远程连接,支持双击编辑远程文件,以及使用操作系统内置的编辑器编辑远程文件。electerm还具备全局热键可切换窗口可见性、多平台支持、支持多国语言、使用公钥+密码进行...

    Linux安全攻略 SSH服务连接时常见问题解答

    通过使用SSH,你可以把所有传输的数据进行加密,这样\"中间人\"这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH是由客户端和...

    Linux expect实现自动登录脚本实例代码

    当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。 ...

    Linux远程管理工具WinSCP 5.13.4 包汉化文件

    支持 SSH 密码、键盘交互、公钥和 Kerberos(GSS) 验证 通过与 Pageant(PuTTY Agent)集成支持各种类型公钥验证 提供 Windows Explorer 与 Norton Commander 界面 可选地存储会话信息 可将设置存在配置文件中而非...

    6.2配置远程控制服务.docx

    SSH(Secure shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux 系统的首选方式。在此之前,一般使用FTP或 Telnet 来进行远程登录。但是因为它们以明文的形式在网络中传输账户密码和数据...

    Bitvise SSH Client BvSshClient-9.33.exe(2023-12-21日更新)

    BvSshClient 支持密码和公钥身份验证,可以与 OpenSSH、OpenSSH for Windows 和 Dropbear 等常用的 SSH 服务器配合使用。此外,它还支持远程端口转发、SOCKS 代理、SFTP 文件传输和 X11 转发等功能。BvSshClient 还...

    C语言基于ssh对该服务器远程配置和管理的原型系统源码+项目说明+设计报告+sln解决方案.zip

    【资源说明】 ...我们首先开放linux服务器的ssh服务,通过OpenSSL、libssh2编写C++程序,实现了对服务器进行配置和管理的代码,得到了原型系统。 **5.正确性验证** 我们验证了linux服务器提供的服

    ssh-action:用于执行远程ssh命令的GitHub操作

    用于执行远程ssh命令的动作。 重要提示:仅支持Linux 容器。 输入变量 有关更多详细信息,请参见 。 host -ssh主机 port -ssh端口,默认为22 username -ssh用户名 password -ssh密码 passphrase -密码短语通常...

    远程登录软件

    支持 SSH1,SSH2,Telnet,RLogin,Serial,和 TAPI 协议。 . Secure Shell: Secure Shell 加密登录和会话数据,包括以下支持: - 端口转发使 TCP/IP 数据更安全 - 口令,公钥,键盘交互和 Kerberos 验证 -...

    SSH 开源图形化 SFTP 客户端 WinSCP 5.17.9.zip

    支持 SSH 密码、键盘交互、公钥和 Kerberos(GSS) 验证 通过与 Pageant(PuTTY Agent)集成支持各种类型公钥验证 提供 Windows Explorer 与 Norton Commander 界面 可选地存储会话信息 可将设置存在配置文件中而非...

    Bitvise SSH Client BvSshClient-9.27.exe(2023-02-15)

    BvSshClient 支持密码和公钥身份验证,可以与 OpenSSH、OpenSSH for Windows 和 Dropbear 等常用的 SSH 服务器配合使用。此外,它还支持远程端口转发、SOCKS 代理、SFTP 文件传输和 X11 转发等功能。BvSshClient 还...

    远程网络访问安全技术.pptx

    X-Windows(Linux) 支持图形应用协议 允许应用软件程序员产生与终端无关的图形用户界面GUI 有限制性的主机验证的明文协议 远程网络访问安全技术全文共27页,当前为第5页。 基于头部的攻击 Telnet与rlogin无头部 X-...

    linux操作连接工具electerm

    既可以使用 ssh 连接又集成了文件传输功能,且支持多个操作系统,又是免费的终端连接工具 ...9、使用公钥 + 密码进行身份验证; 10、将书签 / 主题 / 快速命令同步到 Github / Gitee secret gist 等;

    企业级Linux服务攻略

    11.3.7 自动挂载NIS用户主目录 11.3.8 启动与停止NIS服务 11.3.9 NIS应用案例 11.4 客户端配置 11.4.1 所需软件 11.4.2 加入NIS域 11.4.3 修改hosts文件 11.4.4 修改密码验证方式 11.4.5 修改/etc/yp.conf文件 ...

    WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端,中文版

    支持SSH密码、键盘交互、公钥和Kerberos(GSS) 验证 通过与Pageant(PuTTY Agent)集成支持各种类型公钥验证 提供Windows Explorer与Norton Commander界面 可选地存储会话信息 可将设置存在配置文件中而非注册表中,...

    Granados基于.NET的SSH客户端库

    Granados是一个基于.NET的SSH客户端库。它有以下特点: 1.Granados是一个C#的开源项目。 2.同时支持SSH1和SSH2。...3.Granados实现了AES, Blowfish, TripleDES, RSA, DSA等加密验证算法。 4.实现TCP协议连接。

Global site tag (gtag.js) - Google Analytics