Linux-server-sshd
1:安装
OpenSSH 服务需要4 个软件包
openssh-5.3p1-114.el6_7.x86_64:包含OpenSSH 服务器及客户端需要的核心文件
openssh-clients-5.3p1-114.el6_7.x86_64:OpenSSH 客户端软件包
openssh-server-5.3p1-114.el6_7.x86_64:OpenSSH 服务器软件包
openssh-askpass-5.3p1-114.el6_7.x86_64:支持对话框窗口的显示,是一个基于X 系统的密码
安装方法有两种:
1、配置yum源,通过
yum install openssh openssh-clients openssh-server openssh-askpass -y
2、本地直接安装rpm包文件:
rpm –ivh /media/cdrom/Packages/openssh*.rpm
可能需要解决依赖关系
确认软件包是否已经安装:
rpm -qa | grep openssh
openssh-askpass-5.3p1-114.el6_7.x86_64
openssh-clients-5.3p1-114.el6_7.x86_64
openssh-5.3p1-114.el6_7.x86_64
openssh-server-5.3p1-114.el6_7.x86_64
查看软件安装生产的文件:
rpm -ql openssh
OpenSSH 配置文件
OpenSSH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/sshd_config。
ssh_config 为客户端配置文件
sshd_config 为服务器端配置文件
服务启动关闭脚本:
方法1:
[root@xuegod ssh]# service sshd restart/stop/start/status
方法2:
[root@xuegod ssh]# /etc/init.d/sshd restart/stop/start/status
开机启动服务:
[root@xuegod63 ~]# chkconfig sshd on
[root@xuegod63 ~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如何使用ssh来远程连接主机:
方法一、
1、ssh
[远程主机用户名] @[远程服务器主机名或IP地址]
如果用root进程登录远程主机可以这样:
[root@xuegod ssh]# ssh 192.168.0.64
普通用户:
[root@xuegod63 ~]# useradd cat && echo 123456 | passwd --stdin cat
[root@xuegod ssh]# ssh cat@192.168.0.64
第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连
接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts 文件中,下次再进行登录时因为保存有该主机信息就不会再提示了
RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
方法二、
ssh -l [远程主机用户名] [远程服务器主机名或IP 地址]
例:ssh -l cat 192.168.0.64
2:优化
Ssh_set()
{
sed -i '12a########## ssh-set ##############################' /etc/ssh/sshd_config
sed -i '12aPermitEmptyPasswords no' /etc/ssh/sshd_config
sed -i '12aPermitRootLogin no' /etc/ssh/sshd_config
sed -i '12aMaxStartups 5' /etc/ssh/sshd_config
sed -i '12aUseDNS no' /etc/ssh/sshd_config
sed -i '12aPort 33897' /etc/ssh/sshd_config
sed -i '12aCompression yes' /etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i '12a######### ssh-set ##########################' /etc/ssh/sshd_config /etc/init.d/sshd restart >/dev/null
if [ $? -eq 0 ];then
Echo_green "SSH ----------------OK"
fi
}
3:使用KEY 进行连接
1:生成公钥和私钥 (可以在Linux 机器上生成和在Windows XSHELL 上生成 )
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 20022 test@192.168.3.2" (Linux复制公钥到远程主机,端口号改变的情况下复制) 可以实现无密码登陆并执行简单的命令
ssh 用户名@主机名 “执行的命令”
2:把公钥上传用户的家目录 .ssh/authorized_keys #注意权限的设置,目录文件的权限是 目录700/文件600,文件里面可以追加很多的公钥,用于不通用户的链接,
1:echo -e "#name\n" >>.ssh/authorized_keys
2:cat 公钥的名字 >>.ssh/authorized_keys
可以追加多个用户的公钥到>>.ssh/authorized_keys,每个用户可以用自己的私钥。去连接服务器
3:最后就可以用私钥 进行连接了
#AuthorizedKeysFile .ssh/authorized_keys