Linux命令之远程登录/无密码登录-ssh,ssh-keygen,ssh-copy-id

SSH是一种安全通道协议,主要用来远程登录。在RHEL 5系统中使用的是OpenSSH服务器由openssh, openssh-server等软件包提供的(默认已经安装),并以将sshd添加为标准的系统服务。使用方法如下:

$ ssh host

$ ssh username@host

$ ssh -p 222 username@host

-p:指定访问端口;如果省略该参数,则默认访问SSH服务的默认端口22;

如果是第一次登录对方主机,则系统会出现一下提示:

The authenticity of host 'host(192.168.0.21)' can't be established.

RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.

Are you sure you want to continue connecting (yes/no)?

这段话是说,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

输入yes之后,系统会出现一句提示,表示host主机已经得到认可。

Warning: Permanently added 'host,192.168.0.21' (RSA) to the list of known hosts.

然后要求输入秘密:

$ Password: (enter password)

此时,如果秘密正确,就可以登录了。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在信任环境下,如果每次远程登录时,都要输入密码,感觉太浪费时间了,尤其是密码很复杂、 维护的服务器比较多的情况下。

于是有了正常需求:不用输入密码即可实现远程登录。

实现步骤如下:

1、本地生成一对秘钥文件(公钥和私钥);

$ ssh-keygen

#以上命令等价于 ssh-keygen -t rsa

#-t:指定密钥的类型,默认为SSH-2 的rsa类型;

运行上面的命令后,系统会出现一系列提示,可以一路回车。特别说明,其中有一个问 题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,可以设置一个。运 行结束以后,会在 ~/.ssh/ 目录下新生成两个文件:id_rsa.pubid_rsa。前者公钥,后者是私钥。

2、将公钥传送到远程主机host上面;

$ ssh-copy-id user@host

经过以上两步之后,就可以实现无密码远程登录了(远程主机将用户的公钥保存在~/.ssh/authorized_keys 文件中)。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

常见问题:

1、生成密钥并上传至远程主机后,仍然无法实现无密码登录?

打开远程主机的 /etc/ssh/sshd_config 这个文件,以下几行取消注释。

#RSAAuthentication=yes

#PubkeyAuthentication=yes

#AuthorizedKeysFile=.ssh/authorized_keys

然后,重启远程主机的ssh服务。

#ubuntu系统

$ service ssh restart

#debian系统

$ /etc/init.d/ssh restart

2、执行ssh-copy-id 命令时,远程服务器的SSH服务端口不是22,如下:

$ ssh-copy-id nameB@machineB

ssh: connect to host machineB port 22: Connection refused

则使用如下命令:

$ ssh-copy-id "-p 22000 nameB@machineB"

时间: 2024-11-02 15:25:55

Linux命令之远程登录/无密码登录-ssh,ssh-keygen,ssh-copy-id的相关文章

Linux配置远程SSH无密码登录_Linux

本文实例为大家分享了jaLinux配置远程SSH无密码登录的方法,供大家参考,具体内容如下 系统:CentOS 6.8 主机1:192.168.0.177 主机2:192.168.0.178工具介绍:ssh-keygen:创建公钥和密钥 ssh-copy-id:把生成的公钥复制到192.168.0.178主机上的authorized_keys文件上, ssh-copy-id也会给远程主机的用户主目录(/home)和/root/.ssh和/root/.ssh/authorized_key设置合适的

菜鸟学Linux命令:ssh命令 远程登录

1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V  OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 下面的例子表明该系统正在使用SSH2: $ ssh -V  ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i68

Linux远程登录和无密码登录方法

  一.远程登录方法 SSH 是一种安全通道协议 , 主要用来远程登录.在 RHEL 5 系统中使用的是 OpenSSH 服务器由 openssh , openssh-server 等软件包提供的 ( 默认已经安装 ) ,并以将 sshd 添加为标准的系统服务. 使用方法如下: 代码如下: $ ssh host $ ssh username@host $ ssh -p 222 username@host -p: 指定访问端口 ; 如果省略该参数 , 则默认访问 SSH 服务的默认端口 22; 如

如何实现 ssh 无密码登录

如何实现 ssh 无密码登录 假设你是hostA上的一个用户"aliceA",想以用户"aliceB"的身份ssh到hostB上,但又不想输入密码.那么,你可以参考这篇教程实现ssh无密码登录. 首先,你需要以用户"aliceA"的身份登录到hostA上. 然后,使用ssh-keygen生成一对rsa公私钥,生成的密钥对会存放在~/.ssh目录下. $ ssh-keygen -t rsa 接下来,使用下面的命令在目标主机hostB上的aliceB

suse无密码登录centos(公钥认证ssh登录)

问题描述 1,首先,在suse系统上生成公钥和密钥对ssh-keygen2-trsa在红框的地方记得不可以输入,直接回车从上图可以看出生成的公钥为id_rsa_2048_h.pub,私钥为id_rsa_2048_h然后执行echo"IdKey"id_rsa_2048_h>>/root/.ssh2/identification2.然后在suse系统上通过以下命令将公钥上传到centosssh服务器scp/root/.ssh2/id_rsa_2048_h.pub[user]@[

Linux下设置wetty不需要登录可进行命令行操作

Linux系统下wetty安装和使用说明 1. Wetty简介 Wetty是使用Node.js和websockets开发的一个开源Web-based SSH.关于Web-based SSH的更多资料请参考https://en.wikipedia.org/wiki/Web-based_SSH. 而wetty的资料请参考https://github.com/krishnasrinivas/wetty. 2. 环境准备 因为wetty是使用Node.js编写的,所以我们要事先安装好相关的Node.js

如何设置 Ubuntu14.04 的 SSH 无密码登录

如何设置 Ubuntu14.04 的 SSH 无密码登录 大家好,今天我来向大家介绍如何在 Ubuntu12.04 上设置 SSH 的无密码登录功能.仅在工作站上有正确的(公私)密钥对以供匹配时SSH服务端才会允许你登录,反之访问将不会被允许. 正常情况下,我们需要连上SSH的控制台输入用户名及其密码才行.如果两者全部正确,我们就可以访问,反之访问被服务端拒绝.不过相比而言还有一种比用密码更安全的登录方式,我们可以在登录SSH时通过加密密钥进行无密码登录. 如果你想启用这个安全的方式,我们只需简

以root账号登录 执行ssh user@ipaddr 如何实现 无密码登录

问题描述 以root账号登录 执行ssh user@ipaddr 如何实现 无密码登录 有A B两台机器,设A为server(ip:1.1.2.197),B为client(ip:1.1.2.195),现在以root账号登录A机器,想要远程访问B,以cloud账号登录,执行 ssh cloud@1.1.2.195,请问该如何实现? 解决方案 不输入密码自动通过SSH方式登录服务器 冷胜魁(Seaquester)lengshengkui@gmail.com 2009-7-1 看到ChinaUnix上

ssh无密码登录问题

ssh无密码登录配置: cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak vi /etc/ssh/sshd_config 重启sshd /etc/rc.d/init.d/sshd restart cat ~/id_rsa.pub >> /root/.ssh/authorized_keys chmod 644 ~/.ssh/authorized_keys ssh root@192.168.82.3 cat id_rsa.pub >> a