ubuntu ssh install secret key





linux ubuntu ssh 安装 密钥




SSH(Secure SHell),实现了与Telnet服务类似的远程登录功能,由于telnet在网络上不是很安全,SSH协议在网络中使用密文传输数据,所以现在已成为Telnet的替代产品

SSH协议在网络中传输的任何数据都进行加密处理,当让包括用户登录时输入的用户口令,Telnet协议是以明文的方式在网络中传输,这样很容易被黑客捕获到。相比之下,SSH比telnet要安全许多了。

SSH协议提供两种用户认证方式:
1、基于口令的安全认证 
与telnet类似,提供正确的用户口令后可以登录远程服务器
2、基于密钥的安全认证 
使用公钥和私钥对的方式对用户进行认证

SSH协议除了具有远程登录的功能,此外还提供的文件复制的功能,一般使用scp和sftp客户端软件就可以在远程主机和本地主机之间进行安全的文件传输。


这里主要是以OpenSSH来进行配置,OpenSSH是著名的开源软件项目 ,绝大多数Linux发行版本都采用OpenSSH作为SSH服务器。如图1


OpenSSH服务器和客户端软件是默认安装的 
openssh软件包是实现ssh功能的公共软件包
openssh-server软件包实现了SSH服务器的功能
openssh-clients软件包中包含了SSH服务的客户端程序

可能还有还有其它的显示:
openssh-askpass和openssh-askpass-gnome只有在Linux的图形界面下使用SSH服务时才需要


OpenSSH的服务程序名称是sshd,最为Linux中重要的服务之一,OpenSSH的服务程序被安装之后,sshd在3和5两个级别是自动启动的,如图2


sshd服务程序的启动脚本
/etc/init.d/sshd

sshd服务程序缺省状态为自动启动

sshd服务的启动与停止
1、启动服务程序
service sshd start
2、停止服务程序
service sshd stop

注意在停止服务的时候,最好在主机前进行操作,如果远程停止SSH,那么会中断链接,启动就是件麻烦事了


OpenSSH服务器和客户机的所有配置文件都保存在同一目录中/etc/ssh/,如图3

服务器配置文件
1、SSH服务器的配置文件是sshd_config
/etc/ssh/sshd_config 
sshd服务启动的时候会按照这个文件的内容进行配置
2、客户机配置文件
SSH客户程序的配置文件是ssh_config
/etc/ssh/ssh_config 
当服务器作为客户机使用ssh指令远程登录的时候,ssh指令会按照这个配置文件进行配置。

使用ssh命令登录SSH服务器,一般的格式如下
# ssh

首次登录SSH服务器时为了建立加密的SSH连接需要用户在客户端确认服务器发来的RSA密钥,一般输入yes即可

用户认证
每次登录SSH服务器都需要输入正确的用户口令

SSH登录使用的是SSH服务器主机中的用户帐号


关于SSH的用户目录

在SSH客户主机的用户宿主目录中,使用名为“.ssh”的目录保存用户的SSH客户端信息
~/.ssh/

“.ssh”目录在用户首次进行SSH登录后自动建立

“known_hosts”文件位于“.ssh”目录中
“known_hosts”文件用于保存当前用户所有登录过的SSH服务器的RSA密钥

--------------------------------------
设置密钥认证的一般步骤

1、在SSH客户端生成用户的公钥和私钥对文件
2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中 
3、验证密钥的认证

下面就一个具体的实例来看看如何进行密钥认证

1、在SSH客户端生成用户的公钥和私钥对文件

增加用户,并切换用户,如图4


使用ssh-keygen命令生成密钥对
$ ssh-keygen -t rsa 
如图5


此过程需要用户回答相关的设置信息,可以直接按Enter即可


公钥和私钥文件

ssh-keygen命令将在“.ssh”目录中生成公钥和私钥文件

id_rsa是私钥文件,内容需要严格保密
id_rsa.pub是公钥文件,可发布到SSH服务器中

如图6


2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

复制公钥文件

将客户端中的用户公钥文件复制到SSH服务器中
公钥文件的复制可使用软盘、U盘或网络


将公钥内容追加到authorized_keys 文件

authorized_keys 文件保存在SSH服务器中用户目录的“.ssh”子目录中

authorized_keys用于保存所有允许以当前用户身份登录的SSH客户端用户的公钥内容

使用Windows来维护Linux服务器的人员可以使用WinSCP软件来传输公钥文件,如图7

如果服务器的目录中没有authorized_keys 文件,只需要将id_rsa.pub公钥文件的名称更改为authorized_keys,如果已经有了authorized_keys文件,使用 “>>”重定向符将用户公钥追加到authorized_keys文件中

cat id_rsa.pub >> ~/.ssh/authorized_keys

这里只需要将id_rsa.pub公钥文件的名称更改为authorized_keys就可以了。如图008

3、验证密钥的认证 
完成之后,ssh客户端用户xwg使用ssh登录到ssh服务器的root用户账号,其登录过程是不需要提示用户密码,而是直接使用密钥来进行认证,如果认证成功,就会以root的身份登录到ssh服务器中。

如图9


如图10,查看登录服务器的IP地址

这样,就不需要使用密码来进行认证,这样安全性更高

------------------------------------------------------------
其它设置

禁止root用户的SSH登录 
为了提高Linux服务器的安全性,可以禁止root用户进行SSH登录

设置sshd_config文件

# vi /etc/ssh/sshd_config 
//添加设置行
PermitRootLogin no

重新启动sshd服务程序

# service sshd restart

再次登录SSH服务器时将不能使用root帐号进行登录


ssh命令的两种格式

格式1:ssh 
格式2:ssh -l username sshserver

两种命令格式具有相同的功能

ssh命令中需指定登录的用户名和SSH服务器地址

不指定用户名的ssh命令

ssh命令中如果不指定用户名,将使用SSH客户机中当前用户的名字登录SSH服务器

# ssh 192.168.1.2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值