Linux远程连接ssh协议:安装openssh软件包,监听22端口;默认安装并启动sshd服务
配置文件:/etc/ssh/sshd_config
13 Port 22 //ssh监听端口,默认为22
15 ListenAddress 0.0.0.0 //IPV4监听IP
16 ListenAddress :: //IPV6监听IP
41 LoginGraceTime 1m //允许一次登录花费 120 秒;如果用户花费的时间超过 120 秒,就不允许他访问,必须重新登录
42 PermitRootLogin yes //允许root用户远程连接(拒绝root用户,则no)
44 MaxAuthTries 3 //把错误尝试的次数限制为 6次,6 次之后拒绝登录尝试
45 MaxSessions 3 //最大允许的终端会话数量
65 PermitEmptyPasswords no //不允许用户密码为空远程登陆
66 PasswordAuthentication yes //启动密码认证
81 GSSAPIAuthentication no //禁用GSSAPI认证
83 GSSAPICleanupCredentials no //禁用GSSAPI认证
122 UseDNS no //禁用DNS的用户解析
最下面添加
AllowUsers 用户 //仅允许 某用户
DenyUsers 用户 //仅拒绝 某用户
1.认证方式
Windows
将生成的公钥文件上传到服务器
1)密码认证:用户名、密码登陆
2)密钥对登陆:客户端生成密钥对,将公钥上传至服务器
1)mkdir ~/.ssh/ //在指定登录用户的家目录创建 例u01 cd ~/u01/.ssh/
2)mv 公钥文件 ~/.ssh/authorized_keys
3)chown -R 用户:组 ~/.ssh //例 chown
4)vim /etc/ssh/sshd_config
48 PubkeyAuthentication yes //启用公钥认证
49 AuthorizedKeysFile .ssh/authorized_keys //指定公钥文件路径
注:如需客户端连接多个用户,需在每个用户下新建.ssh目录,并将authorized_keys拷贝到.ssh目录,并设置chown
注:如多个客户端连接服务器,cat 公钥文件 >>~/.ssh/authorized_keys,这样实现客户端公钥文件追加
Linux 认证
1)ssh-keygen -t rsa -b 1024 //生成rsa 1024位算法的密钥对
2)ssh-copy-id -i ~/.ssh/id_rsa.pub 用户@IP //将本地公钥文件上传到指定服务器的指定用户下(ssh-copy-id只能通过22端口拷贝到目标主机
第一遍有密码 正常SSH 上传公钥到服务器192.168.1.2
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户@IP
输入目标服务器账户登录密码
第二遍ssh 用户@服务器IP 登录 免秘钥认证登录
ssh 用户@IP //无密码登陆
SCP:将本地文件上传到远程服务器,或将远程服务器文件下载到本地
例:
scp /etc/hosts root@192.168.1.10:/tmp/ //将本地/etc/hosts文件拷贝到192.168.1.10的/tmp/目录下
scp 用户@IP:文件 本地目录 //将远程服务器的指定文件下载到本地指定目录
例:
scp root@192.168.1.10:/etc/hosts.allow /tmp/ //将192.168.1.10的/etc/hosts.allow文件拷贝到本地/tmp/目录下