2019年8月

最近需要拖第三方公司开发团队的代码,发现url无效,
ssh远程连接返回:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)
初始怀疑是权限问题,reporter权限,改到developer,依然获取不到,ssh远程连接还是拒绝。
http连接可以拉取到代码,很显然,ssh连接拒绝是部署服务器出现的问题导致的,解决办法是在部署服务器开通ssh权限。
CentOS 6.3系统下,用户user的home目录:/home/user的权限变成了777,造成不能正常登陆SSH,报如下错误:Permission denied (publickey,gssapi-with-mic)
SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:

1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700

homeuser

homeuser.ssh

2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644

homeuser.sshauthorized_keys

3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600

homeuser.sshid_rsa

ssh命令网络安全
ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

语法
ssh(选项)(参数)
选项
-1:强制使用ssh协议版本1;
-2:强制使用ssh协议版本2;
-4:强制使用IPv4地址;
-6:强制使用IPv6地址;
-A:开启认证代理连接转发功能;
-a:关闭认证代理连接转发功能;
-b:使用本机指定地址作为对应连接的源ip地址;
-C:请求压缩所有数据;
-F:指定ssh指令的配置文件;
-f:后台执行ssh指令;
-g:允许远程主机连接主机的转发端口;
-i:指定身份文件;
-l:指定连接远程服务器登录用户名;
-N:不执行远程指令;
-o:指定配置选项;
-p:指定远程服务器上的端口;
-q:静默模式;
-X:开启X11转发功能;
-x:关闭X11转发功能;
-y:开启信任X11转发功能。
参数
远程主机:指定要连接的远程ssh服务器;
指令:要在远程ssh服务器上执行的指令。
相关命令
ssh-copy-id
nmap
ssh-add
sftp
ssh-agent
sftp-server
iptstate
ssh-keygen
ssh-keyscan
sshd
命令直达(输入完整命令)

模糊搜索(输入关键词)
Linux下载
Ubuntu下载
CentOS下载

ssh-add命令网络安全
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。

语法
ssh-add [-cDdLlXx] [-t life] [file ...]
ssh-add -s pkcs11
ssh-add -e pkcs11
选项
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁
实例
1、把专用密钥添加到 ssh-agent 的高速缓存中:

ssh-add ~/.ssh/id_dsa
2、从ssh-agent中删除密钥:

ssh-add -d ~/.ssh/id_xxx.pub
3、查看ssh-agent中的密钥:

ssh-add -l

linux命令大全
https://man.linuxde.net/ssh-add