SSH基于口令及密钥方式的远程登陆简单实现

 系统环境:Redhat Linux Array.0 [ 2.4.20.8 ]
软件版本:
openssh-3.5p1-6
openssh-server-3.5p1-6
openssh-askpass-3.5p1-6
openssh-clients-3.5p1-6
openssh-askpass-gnome-3.5p1-6
目标功能:
Server A:
  1Array2.168.1.1/24
  用户: tom  jerry
Station B:
  1Array2.168.1.20/24
  用户: mikky
实现:
  1、仅允许tom jerry用户ssh登陆到Server A,分别使用tom jerry用户的密码进行验证
  2、允许mikky在Station B机上ssh登陆到Server A,使用jerry用户名和mikky的私钥短语进行验证,不需要jerry的密码
##############################################################
一、安装
  为方便使用,两台机器上ssh服务端/客户端软件包都安装。各软件均使用RHArray光盘中自带的rpm包,[步骤略]

二、基于口令认证的配置
  Server A : [默认启动的SSHD服务进程已经启用口令认证,可以使用服务器上的用户名和密码登陆]
    1、# vi /etc/ssh/sshd_config //仅解释部分选项
  Port 22    //服务监听的端口
  Protocol 2,1   //服务支持使用SSH 1.x和2.x协议
  ListenAddress 1Array2.168.1.1 //服务监听的IP地址
  LoginGraceTime 120  //120秒内未成功登陆服务器将断开链接
  MaxStartups 10   //未成功登陆的最大并发连接数
  PermitRootLogin no  //禁止root用户登陆
  AllowUsers tom jerry  //仅允许jerry用户远程登陆
  PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆
  AuthorizedKeysFile .ssh/authorized_keys  //服务器存放各客户端公钥的文件位置
  PasswordAuthentication yes //允许使用基于口令认证的方式登陆
  PermitEmptyPasswords no  //禁止空密码的用户登陆系统
  X11Forwarding yes  //允许对X11程序进行转发
    2、添加测试用户
Server A:
         # useradd tom ; passwd tom
         # useradd jerry ; passwd jerry
Server B:
  # useradd mikky ; passwd mikky
  
    3、# chkconfig --level 2345 sshd on
       # /etc/init.d/sshd start
  Station B : [分别测试tom、jerry、root及其它用户是否能正常登陆,如按前例配置正常应该只有tom、jerry可以登陆]
    4、# ssh
jerry@1Array2.168.1.1
  //首次ssh登陆后会自动创建~/.ssh/known_hosts文件保存服务器的公钥

三、基于密钥认证的配置
  Server A :
    0、# vi /etc/ssh/sshd_config  //参考第二步,根据需要修改设置,也可跳过此步
  PasswordAuthentication no //禁止使用基于口令认证的方式登陆
  PubkeyAuthentication yes //允许使用基于密钥认证的方式登陆
       # /etc/init.d/sshd reload
  基本步骤 :
    1、客户端创建密钥对
在Station B系统中使用mikky用户登陆,以mikky用户身份创建密钥对
# su - mikky
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mikky/.ssh/id_rsa):
Created directory ’/home/mikky/.ssh’.
Enter passphrase (empty for no passphrase):    //此处设置用于保护私钥的密码,及“密码短语”
Enter same passphrase again:
Your identification has been saved in /home/mikky/.ssh/id_rsa.
Your public key has been saved in /home/mikky/.ssh/id_rsa.pub.
The key fingerprint is:
a4:73:6a:Arraya:ea:ff:ef:1f:72:83:68:78:6d:e8:63:2b
mikky@bbb.redhat.com
$ cat ~/.ssh/id_rsa.pub
    2、复制密钥到服务器
将mikky的公钥复制到服务器[可以使用nfs/ftp/samba/http/email/sftp/scp等任意方式]
此处在Server A上以root用户身份操作,因使用scp,需要Station B启用SSHD服务
# mkdir -p /home/jerry/.ssh
# scp
[email=mikky@1Array2.168.1.20:/home/mikky/.ssh/id_rsa.pub]mikky@1Array2.168.1.20:/home/mikky/.ssh/id_rsa.pub[/email]
/home/jerry/.ssh/authorized_keys
# chmod o+rx /home/jerry ; chown -R jerry:jerry /home/jerry  //在某些系统中需要修改权限,此处可跳过
    3、客户端测试密钥验证
# su - mikky   //确认以mikky用户登陆Station B系统
$ ssh
jerry@20.0.0.1
  //如果提示如下输入密码短语,说明密钥验证生效;否则请检查authorized_keys文件名及位置
Enter passphrase for key ’/home/mikky/.ssh/id_rsa’:
    4、客户端使用SSH代理 [此步可不作]
在Station B上使用ssh-agent代理验证,可以记住私钥密码短语,不用频繁验证
# su - mikky
$ ssh-agent /bin/bash  //新开一个bash进程,并在此进程中启用ssh代理
$ ssh-add -t 3600  //在一个小时内让ssh代理记住私钥的密码短语
Enter passphrase for /home/mikky/.ssh/id_rsa:
Identity added: /home/mikky/.ssh/id_rsa (/home/mikky/.ssh/id_rsa)
Lifetime set to 3600 seconds
$ ssh
jerry@1Array2.168.1.1
  //一小时内再次重复登陆,无需密码或密码短语,即可直接登陆服务器
$ ssh-add -D   //清除所有已经记住的私钥密码短语

### SSH远程登录迈普交换机的操作指南 为了实现通过SSH协议远程访问并管理迈普交换机,以下是具体操作流程及相关命令说明: #### 配置SSH服务 在执行SSH连接之前,需确保交换机已启用SSH功能。通常情况下,需要完成以下设置: - **生成RSA密钥对**:这是SSH安全通信的基础。 ```shell crypto key generate rsa modulus 2048 ``` 此命令用于创建长度为2048位的RSA密钥对[^1]。 - **配置VTY线路支持SSH**:指定虚拟终端允许使用SSH协议进行身份验证。 ```shell line vty 0 4 transport input ssh login local ``` 上述命令启用了基于密码的身份验证方式,并限定仅接受SSH会话请求[^2]。 - **设定用户名与密码** ```shell username admin privilege 15 secret Admin@123 ``` 这里定义了一个具有最高权限等级(15级)的用户账户及其加密后的口令字符串[^3]。 #### 远程登录过程 当以上准备工作完成后,可以从任意安装有SSH客户端工具的工作站发起连接尝试。例如,在Linux/MacOS系统下打开终端窗口输入如下指令即可建立到目标IP地址为192.168.1.1的设备链接: ```bash ssh -l admin 192.168.1.1 ``` #### 查看当前运行配置 成功登陆后可以利用`show running-config`命令来获取现网生效中的全部参数详情;如果只想了解特定部分的信息,则可附加过滤条件,比如只显示接口状态摘要: ```shell show ip interface brief ``` #### 故障诊断技巧 对于网络连通性异常等问题排查时常用的几个实用型查询语句列举如下: - 测试目的主机可达性的简单方法——Ping测试: ```shell ping 8.8.8.8 repeat 5 ``` - 显示ARP缓存表项列表以便确认MAC-to-IP映射关系准确性: ```shell show arp ``` - 展示路由条目从而判断数据包转发路径是否正常工作: ```shell show ip route ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值