ssh远程登录

2014-09-02  隐者黑鹰88
 SSH远程登录:
1、SSH(Secure Shell,安全的命令解释器)
为客户机提供安全的Shell环境,用于远程管理,默认端口:TCP 22。比较早的telnet、rsh等工具有很大优势,SSH是目前应用最为广泛的服务器远程管理方式
SSH登录使用的用户名:服务器中的本地系统用户的帐号名
SSH登录的用户验证方式
密码验证:使用服务器中系统帐号对应的密码
密钥对验证:使用客户机中生成的公钥、私钥
OpenSSH
官方站点:http://www.openssh.com
主要软件包:openssh-server、openssh-clients
服务名:sshd
服务端主程序:/usr/sbin/sshd
客户端主程序:/usr/bin/ssh
服务端配置文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_config
2、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登录 ,其他均拒绝(不要同时使用AllowUsers和DenyUsers配置)
PasswordAuthentication yes 是否启用密码验证
PubkeyAuthentication yes 是否启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys 指定保存各用户公钥内容的数据文件位置,默认保存客户机用户公钥信息的文件位于(服务器某个用户宿主目录下的)
3、SSH客户端应用
使用ssh命令远程登录
方式1: ssh 用户名@服务器地址
方式2: ssh -l 用户名 服务器地址
方式3: ssh 服务器地址(缺省时会尝试以当前的本地用户名进行登录)
如查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命令远程复制文件/目录
方式1: scp 用户名@服务器地址:源文件 目标路径
方式2: scp 本地文件 用户名@服务器地址:目标路径
若复制的是目录,则需添加“-r”选项
使用sftp命令从服务器下载文件
使用图形客户端软件 PuttyCN
主要用途:基于SSH协议远程登录以便管理服务器
下载地址:http://wrc.gro.clinux.org/putty/
使用图形客户端软件 WinSCP
主要用途:基于sftp、scp或ftp的方式下载/上传数据
下载地址:http://winscp.net/
在远程计算机上运行命令:
ssh命令可用于在远程计算机上打shell并在该计算机上运行命令,有时,还可以保存在远程计算机上运行的命令输出,无论是保存在远程计算机,还是本地计算机上。
输出重定向至本地文件:
ssh user@host ‘command1 ; command2’ > log.local //单引号
输出重定向至远程文件:
ssh user@host ‘command1 ; command2 > log.remote’ //单引号
4、构建密钥对验证的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服务

    猜你喜欢
    发表评论
    喜欢该文的人也喜欢 更多