配置key认证登陆Ubuntu (下)

梗概:

  • 使用证书登陆,可以减少密码的使用,避免密码泄露,证书登陆更加方便、安全。
  • Secure CRT 和Putty 原理相同,生成 密钥对(Key pair)操作有所不同。

1、生成key pair, 先以SecureCRT 为例

密钥类型有RSA 和 DSA两种,sshd_config里面两种都支持,一般选用RSA.

长度512-2048位任选。

通行短语:这个地方类似是一条口令,在建立Session的时候会要求输入,个人觉得没必要填写,填了相当于在证书登陆的过程中又加入了密码这种东西。

注释:随便填,可以作为一段描述,这段内容会在私钥的内容里可以看到。

2、生成密钥对后,保存公钥和私钥到本地。私钥会自动应用于全局变量,也可以手动添加。

公钥:Identity.pub

私钥:Identity

客户端配置完毕。

3、将公钥 identity.pub 上传至服务器上的用户目录 ~/.ssh/authorized_keys ,名字随意,和sshd_config里配置文件一致即可。

mkdir .ssh  #在需要开启ssh连接的用户目录下建立 .ssh目录,不存在的话就自己创建。

chmod 700 .ssh

上传的方式有多种

1)如果是虚拟机,直接拽入或者通过share folder。

2)FTP ,事先要搭建好FTP服务器如vsftpd. 可以使用命令行方式+第三方工具。

3)Samba ,如前文描述。

4)SFTP(Secure FTP), SFTP是基于SSH 协议的,SecureCRT自带,连接后使用和FTP一样,命令行+第三方工具(FileZilla/Winscp)

PS1:FTP和SFTP都是文件传输协议,FTP默认端口是23,SFTP基于SSH,默认端口和SSH一样是22. SFTP是加密的文件传输,比FTP安全。

考虑到SSH证书登陆并没有完成, 可以暂时允许SSH用密码登陆进去建立一个会话,然后把公钥上传上去。

ls 列出服务器当前目录 ,cd 切换目录

lls 列出本地当前目录 ,lcd 切换本地当前目录

put 上传至服务器,get 下载至本地,所以我们使用put identity.pub即可。
PS2 :由于我们的SSH使用的是OpenSSH ,低版本CRT不支持在本地导出openssh格式,可先上传至服务器然后使用ssh-keygen转换。

#ssh-keygen -i -f Identity.pub >>~/.ssh/authorized_keys #这个地方用>>追加符号,因为这个文件里可能存在两个不同的公钥,比如我下文用putty生成的pair key.

#chmod 644 .ssh/authorized_keys

4、更改ssh配置文件
vim /etc/ssh/sshd_config        #修改ssh配置文件,需要root权限
PermitRootLogin no                       #禁止root登录
PubkeyAuthentication yes                  #启用公告密钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #这个地方名字保持一致即可
RSAAuthentication yes                    #允许RSA密钥
PasswordAuthentication no               #禁止密码验证登录,如果启用的话,OpenSSH的RSA认证登录就没有意义了

保存后重启ssh 服务

# service ssh restart

5、验证登陆

用户名就是你存放公钥的用户,身份验证的地方口令不选。

连接过程如果在1填了口令,会让你输入口令;没有口令的话,应该很快很自动连上。

Putty部分主要是Key pair这部分生成的步骤略有不同,其他都是一样的,不再赘述。

参考链接:

http://www.ssc.wisc.edu/sscc/pubs/linstat_public_key.htm

http://blog.chinaunix.net/uid-20639775-id-3207171.html

http://blog.csdn.net/zhaohaifan/article/details/8051694

时间: 2024-12-15 13:16:15

配置key认证登陆Ubuntu (下)的相关文章

配置key认证登陆Ubuntu (一)

每一个看似轻松的结果背后都有不为人知的辛酸.又是一件小事,结果折腾了一天. 上接配置好SSH 和Samba后,开始了Python编程实践.由于实在不大会用Vim, 所以最后的编程环境实际上在Windows下用Notepad++写代码,通过Samba服务器更新直接同步到Ubuntu,当天用的还不错,把Python文件操作这部分算是小试牛刀了一下. 睡一觉起来后,悲剧开始了:SSH开始连接不上了!ssh localhost也不行. Error 1 : connection reset by peer

ssh基于key认证登陆

ssh基于key认证登陆一.在客户端生成密钥对 ssh-keygen -t rsa [-P ''] [-f "~/.ssh/id_rsa"] ## -r rsa:指定算法 ## -P :加对称秘钥口令 ## -f :可以指定生成路径 ## /.ssh/id_rsa 生成秘钥默认路径 我们简单操作就不加密码了 [[email protected] .ssh]# ssh-keygen Generating public/private rsa key pair. Enter file in

【甘道夫】Ubuntu集群配置免认证登陆

引言 这是几年前写的文章,但一直以来该问题被重复问到,所以我决定将它重新搬上屏幕. 正文 三个节点:masternode    slavenode1   slavenode2 第一步:所有节点分别生成密钥对 所有节点都要做:命令行中,在当前用户根目录执行 ssh-keygen -t rsa 密钥成功生成后是存储在当前用户根目录下的.ssh隐藏目录下,直接用 cd .ssh 就能进入,然后用ls命令就能看到id_rsa    id_rsa.pub 第二步:拷贝生成authorized_keys 所

Ubuntu为账户提供public key认证登陆

创建用户后,发现账户下面没有生成.ssh的隐藏文件夹,安装网上文章,尝试命令:ssh-keygen 也不成功,于是手动创建.在用户home目录下,例如 /home/user/sudo mkdir .sshsudo chown user.user .ssh/sudo touch authorized_keys 然后打开编辑sudo vim authorized_keys 保存退出,用户即可使用key验证登录 原文地址:https://blog.51cto.com/helpdesk/2422329

路由交换学习第四天:路由器配置SSH认证登陆

华为路由器1:<Huawei>sys //进入系统视图[Huawei]interface g0/0/0 //进入g0/0/0配置[Huawei-GigabitEthernet0/0/0]ip address 202.100.1.1 30 //配置IP地址为202.100.1.1 30[Huawei-GigabitEthernet0/0/0]q[Huawei]aaa //进入aaa[HW-R1-aaa]local-user huawei password cipher huawei123 //创

ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置

一.安装.卸载apache2 apache2可直接用命令安装 sudo apt-get install apache2 卸载比较麻烦,必须卸干净,否则会影响apache2再安装 (1) sudo apt-get --purge remove apache2 sudo apt-get --purge remove apache2.2-common sudo apt-get autoremove (2) (关键一步)找到没有删除掉的配置文件,一并删除 sudo find  /etc -name "*

Ubuntu下配置tftp服务和NFS服务

Ubuntu下配置tftp服务和NFS服务 配置tftp 方法一:(推荐方法)Ubuntu10.04 测试通过 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立tftpboot目录,作为服务器的目录sudo mkdir ~/tftpboot释放权限:(服务器目录,需要设置权限为777,chomd 777)sudo chmod 777 ~/tftpboot 3.配置TFTP服务器

ubuntu下配置JDK环境变量

配置jdk环境变量: 在启动终端并输入 gedit /etc/profile 在末尾添加一下配置,保存并退出 #set jdk environment export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 终端输入一下命令使配置生效 so

ubuntu下配置adb环境变量

ubuntu下配置adb环境变量 ubuntu下配置环境变量有两中方法,/etc下的environment和.bashrc文件,这里介绍.bashrc的用法. 首先 打开终端  输入   vim .bashrc  打开文件 然后写入以下内容 export ANDROID_HOME=/home/zhao/android-sdk-linux export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools (变量ANDROID_HO