SSH 服务

2018-11-07  本文已影响8人  a564c12b3104

SSH 服务

ssh 默认安装的,加密传送的,比较安全

默认端口:22
linux中的守护进程是:sshd
安装服务是:OpenSSH
服务端主程序:/usr/sbin/sshd
客户端主程序:/usr/bin/ssh
服务端的配置文件:/etc/ssh/sshd_config
客户端的配置文件:/etc/ssh/ssh_config
私钥名称:id_rsa
公钥名称:id_rsa.pud

服务端的配置:

基本配置

Port 22                                 # 端口
ListenAddress 0.0.0.0                   # 监听的IP   0是监听所有
Protocol 2                              # SSH版本选择
HostKey /etc/ssh/ssh_host_rsa_key       # 私钥保存位置
ServerKeyBits 1024                      # 私钥的位数
SyslogFacility AUTH                     # 日志记录SSH 登陆情况
LogLevel INFO                           # 日志等级
GSSAPIAuthentication yes                # GSSAPI 认证开启

GSSAPI 认证 开启后会去寻找 dns 解析,如果没有dns 登录的时候会异常缓慢,建议关闭,这个是默认开启的,关闭的时候应该去关闭客户端的,而不是去修改服务器端的

安全配置

PermitRootLogin yes                         # 允许root的ssh 登陆
PubkeyAuthentication yes                    # 是否使用公钥验证
AuthorizedKeysFile .ssh/authorize_keys     # 公钥的保存位置
PasswordAuthentication yes                  # 允许使用密码验证登陆
PermitEmptyPasswords no                     # 不允许空密码登陆

提示:一般不允许root的ssh 登陆,不用密码的钥匙对登录比较安全。

配置不用密码的钥匙对登录

linux

第一步:

客户端生成:
ssh-keygen -t rsa

服务器:
把客户端的公钥上传到服务器,在写入想要登录ssh服务的用户下的指定文件中
cat id_rsa.pub >> /用户/.ssh/authorized_keys    # 一定要追加,可能有多个
chmod 600 /用户/.ssh/authorized_keys            # 必须600权限

第二步:

修改服务器端ssh配置文件:/etc/ssh/sshd_config
RSAAuthentication yes                           # 开启RSA验证
Pubkey Authentication yes                       # 是否使用公钥验证
AuthorizedKeysFile  .ssh/authorized_keys        # 公钥的保存位置
PasswordAuthentication no                       # 禁止使用密码验证登陆

第三步:

服务器端关闭SELinux服务:sudo setenforce 0
服务器端重启ssh服务:service  sshd restart

SSH 命令

登录:  ssh 用户名@IP
第一次登录的下载非对称加密公钥,以后就不用了

SCP 远程复制命令:
下载:  scp 用户名@远程ip:/文件位置  复制到本地的位置
上传:  scp -r 本地的文件 用户名@远程ip:/复制到的位置
下载:  scp root@192.168.44.2:/root/test.txt .
上传:  scp -r /root/123/ root@192.168.44.2/root

Sftp文件传送:
sftp root@192.168.4.2
ls 查看服务器端数据
cd 切换服务器端目录
lls 查看本地数据
lcd 切换本地目录
get 下载
put 上传

有一个对称加密和非对称加密知识点。pgp和gpg ,win和linux上的非对称加密工具, ssh采用的是类似的非对称加密

上一篇下一篇

猜你喜欢

热点阅读