SSH远程登录的使用和介绍

SSH远程登录:

1SSHSecureShell,安全的命令解释器)

为客户机提供安全的Shell环境,用于远程管理,默认端口:TCP 22。比较早的telnetrsh等工具有很大优势,SSH是目前应用最为广泛的服务器远程管理方式

SSH登录使用的用户名:服务器中的本地系统用户的帐号名

SSH登录的用户验证方式

密码验证:使用服务器中系统帐号对应的密码

密钥对验证:使用客户机中生成的公钥、私钥

OpenSSH

官方站点:http://www.openssh.com

主要软件包:openssh-serveropenssh-clients

服务名:sshd

服务端主程序:/usr/sbin/sshd

客户端主程序:/usr/bin/ssh

服务端配置文件:/etc/ssh/sshd_config

客户端配置文件:/etc/ssh/ssh_config

 

2、安装OpenSSHserver

ssh服务器端安装如下,客户端一般ubuntu系统自带,如果没有,自己安装openssh-client

1. 使用apt命令安装opensshserver

$ sudo apt-get install openssh-server

2.确认sshserver是否安装好

$ ps -e | grep sshd

      450 ?       00:00:00 sshd

如果看到sshd,说明ssh-server已经启动了。

如果只有ssh-agent,说明ssh-server还没有启动,需要执行命令启动ssh服务:

$ /etc/init.d/ssh start

3. 可以对 openssh server进行配置

3. 重启 openssh server

$ sudo service ssh restart

 

3SSH服务器端配置文件:/etc/ssh/sshd_config

Port 22 监听的端口(默认22

ListenAddress 192.168.2.1 监听的IP地址(默认监听所有IP

PermitRootLogin no 禁止ROOT用户远程登录

PermitEmptyPasswords no 禁止密码为空的用户远程登录

LoginGraceTime 2m 限制用户登录验证过程的时间(默认为2分钟)

MaxAuthTries 6 限制用户登录验证过程的最大重试次数

DenyUsers zhangsan lisi 拒绝XX用户远程登录系统,其他均允许

AllowUsers jerry admin@61.23.24.25 允许jerry在任何何IP的主机上远程登录,允许admin只能在主机61.23.24.25登录,其他均拒绝(不要同时使用AllowUsersDenyUsers配置)

PasswordAuthentication yes 是否启用密码验证

PubkeyAuthentication yes 是否启用密钥对验证

AuthorizedKeysFile .ssh/authorized_keys 指定保存各用户公钥内容的数据文件位置,默认保存客户机用户公钥信息的文件位于(服务器某个用户宿主目录下的)

 

4SSH客户端应用

使用ssh命令远程登录

方式1ssh 用户名@服务器地址

方式2ssh -l 用户名服务器地址

方式3ssh 服务器地址(缺省时会尝试以当前的本地用户名进行登录)

如查SSH服务器使用非默认端口,则客户机在登录时必须时确指定端口号

ssh -p 端口用户名@服务器地址

SSH通过公钥加密的方式保持通信安全,当某一SSH客户端连接到SSH服务器时,在该客户端登录之前,服务器会向其发公钥副本。这可用于设置通信渠道的安全加密。

当用户第一次使用SSH连接到特定服务器时,SSH命令可在用户的~/.ssh/known_hosts文件中存储服务器的公钥。在此之后每当用户进行连接时,通过对此~/.ssh/known_hosts文件中的服务器条目和服务器发送的公钥,都可保证从服务器获取相同的公钥。如果公钥不匹配,客户端会假定网络传输已遭劫持,或者服务器已被入侵且中断连接。这意味着,如果服务器的公钥发生更改(由于硬盘出现故障而导致公钥丢失),用户则需要更新其~/.ssh/known_hosts文件以删除旧的输入才能够进行登录。

使用命令cat~/.ssh/known_hosts文件内容

还有一种更好的方法是,在公钥发生更改时,提前将与服务器的ssh_host_*key.pub(在/et c/ssh目录中)文件相匹配的条目添加到用户~/.ssh/known_hosts或系统范围的/etc/ssh/ssh_known_hosts中。

使用scp命令远程复制文件/目录

方式1scp 用户名@服务器地址:源文件目标路径

方式2scp 本地文件用户名@服务器地址:目标路径

若复制的是目录,则需添加“-r”选项

使用sftp命令从服务器下载文件

使用图形客户端软件 PuttyCN

主要用途:基于SSH协议远程登录以便管理服务器

下载地址:http://wrc.gro.clinux.org/putty/

使用图形客户端软件 WinSCP

主要用途:基于sftpscpftp的方式下载/上传数据

下载地址:http://winscp.net/

在远程计算机上运行命令:

ssh命令可用于在远程计算机上打shell并在该计算机上运行命令,有时,还可以保存在远程计算机上运行的命令输出,无论是保存在远程计算机,还是本地计算机上。

输出重定向至本地文件:

ssh user@host ‘command1 ; command2’ >log.local //单引号

输出重定向至远程文件:

ssh user@host ‘command1 ; command2 >log.remote’ //单引号

 

5、构建密钥对验证的SSH登录体系

基本实现步骤

1.在客户机创建密钥对

ssh-keygen命令:ssh-keygen -t rsa ssh-keygen -t dsa 创建证书

2.将公钥文件上传至服务器

/home/用户/下建立.ssh文件夹,并将其权限设置为700

方法:使用普通用户登录SSH服务器,创建.ssh目录,或使用ROOT用户创建.ssh目录,并更改属主和属组为该普通用户

把公匙传到SSH服务器主机的/home/用户名/.ssh中并命名为authorized_keys

可以使用scp命令或ssh-copy-id -i .ssh/id_rsa.pub 用户名@SSH服务器

id_rsa_pub文件可以一对多

3.设置服务器

禁用密码验证、启用密钥对验证,并重启sshd服务。

 

6、限制ssh登录用户

禁止人家使用ssh端口登录就行了,具体方法:

sudo vi /etc/ssh/sshd_config

查找 AllowUsers ,如果没有则加上。

AllowUsers meiking root

上面表达的意思就是只允许meikingroot用户远程登录

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值