如何使用Linux上的SSH和OpenSSL?
在太仓等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站设计 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站制作,营销型网站,外贸网站建设,太仓网站建设费用合理。
越来越多的人开始使用Linux系统进行各种工作,因为它被认为是一个强大的操作系统,拥有很多好处。SSH和OpenSSL是两个非常重要的工具,可以帮助您在Linux上进行安全通信。本文将对这两个工具进行介绍,以及如何在Linux系统上使用它们。
什么是SSH?
SSH代表安全外壳协议。它是一种安全的通信协议,专门用于远程控制计算机。使用SSH,您可以在安全的方式下发送和接收命令和文件,以及访问网络服务。SSH使用公钥和私钥来验证和加密通信,这使得SSH成为一种可靠的和安全的通信方式。
如何在Linux上安装SSH?
如果您正在使用Debian或Ubuntu Linux,可以使用以下命令来安装SSH:
$ sudo apt-get install ssh
如果您正在使用RHEL或CentOS Linux,则需要使用以下命令:
$ sudo yum install ssh
一旦您安装了SSH,您可以通过以下方法使用它:
1.发送文件:
要将文件从本地计算机发送到远程计算机,可以使用以下命令:
$ ssh username@remotehost ‘cat > path/to/destination/file’
在此命令中,”username”是远程计算机上的用户名,“remotehost”是远程计算机的主机名或IP地址,”path/to/destination/file”是要保存文件的路径,“path/to/source/file”是本地计算机上要发送的文件的路径。
2.接收文件:
要从远程计算机接收文件并将其保存到本地计算机上,可以使用以下命令:
$ scp username@remotehost:/path/to/source/file /path/to/destination/file
在这个命令中,“username”是远程计算机上的用户名,“remotehost”是远程计算机的主机名或IP地址,“/path/to/source/file”是要传输的文件的路径,“/path/to/destination/file”是本地计算机上要保存文件的路径。
3.使用SSH连接到远程计算机:
要连接到远程计算机并以交互方式进行通信,请使用以下命令:
$ ssh username@remotehost
在此命令中,“username”是远程计算机上的用户名,“remotehost”是远程计算机的主机名或IP地址。然后,您可以输入命令并在远程计算机上执行它们。
什么是OpenSSL?
OpenSSL是一个开源的加密和安全的套接字层工具包。它包含用于数字证书、私钥和加密/解密的函数。OpenSSL是一种流行的加密标准,它被广泛地使用在安全通信和数据传输上,包括HTTPS的加密链接。
如何在Linux上安装OpenSSL?
如果您正在使用Debian或Ubuntu Linux,可以使用以下命令来安装OpenSSL:
$ sudo apt-get install openssl
如果您正在使用RHEL或CentOS Linux,则需要使用以下命令:
$ sudo yum install openssl
一旦您安装了OpenSSL,您可以使用以下方法使用它:
1.创建私钥和证书:
要创建自己的私钥和证书,请使用以下命令:
$ openssl genrsa -out private.key 2023
$ openssl req -new -key private.key -out cert.csr
$ openssl x509 -req -days 365 -in cert.csr -signkey private.key -out certificate.crt
在这个命令中,“private.key”是私钥的名称,“cert.csr”是证书请求的名称,“certificate.crt”是证书的名称。这个命令将生成私钥、证书和证书请求文件。
2.加密和解密文件:
要加密和解密文件,可以使用以下命令:
$ openssl enc -aes-256-cbc -in file -out file.enc
$ openssl enc -d -aes-256-cbc -in file.enc -out file
在此命令中,“file”是要加密或解密的文件名。“-aes-256-cbc”是加密的算法。由于对称密钥加密算法的本质,将使用相同的密码加密和解密文件。
结论
SSH和OpenSSL是两个非常有用的工具,它们可以帮助您在Linux上进行安全通信。本文介绍了如何在Linux系统上安装和使用SSH和OpenSSL,并说明了它们的一些常见用途。如果您正在使用Linux系统进行工作,那么了解这些工具及其用途,将使您更加安全和高效地完成工作。
成都网站建设公司-创新互联,建站经验丰富以策略为先导10多年以来专注数字化网站建设,提供企业网站建设,高端网站设计,响应式网站制作,设计师量身打造品牌风格,热线:028-86922220这个是7.1的 7.2一样
Openssh7.1p1升级方案
OpenSSH_7.1p1、Openssl1.01p、zlib1.28
之一步 准备安装包
1.1、 确定操作系统
uname -a
l_release -a(suse)
cat /etc/issue(redhat)
1.2、 将所需安装包上传到服务器
zlib-1.2.8.tar.gz
openssl-1.0.1p.tar.gz
openssh-7.1p1.tar.gz
相关下载:
www.openssl.org
、
www.openssh.org
、
www.zlib.net
、缓乱
//先把所有安装文件上传服务器,再卸载ssh,要不文件上传非常麻烦,在系统镜像中找到gcc安装包一并上传,大部分make失败都是gcc未安装或者安装不扰丛档全造成。
第二步 准备好其他远程方式
2.1、此项可选择telnet或者vnc来进行郑亏远程操作
安装telnet服务,telnet安装rpm包对应操作系统ISO文件里面提取,建议不要跨操作系统版本安装,减少未知问题。
vi /etc/xinetd.d/telnet
disable = yes改成 no。
service xinetd restart
vi /etc/securetty加入
pts/0
pts/1
pts/2
pts/3
vi /etc/pam.d/login文件注释掉:
#auth
#auth_err=die default=bad> pam_securetty.so
//以上步骤保证root用户可以telnet,保证后续远程配置正常进行。
第三步 程序升级
3.1、停止SSHD服务
# /in/service sshd stop
3.2、备份启动脚本
# cp /etc/init.d/sshd /root/
3.3、卸载系统里原有Openssh
# rpm -qa openssh //查询系统原安装的openssh包,全部卸载。
# rpm -e openssh –nodeps
# rpm -e openssh-server –nodeps
# rpm -e openssh-clients –nodeps
# rpm -e openssh-askpass
3.4、解压安装zlib包:
# tar -zxvf zlib-1.2.8.tar.gz//首先安装zlib库,否则会报zlib.c错误无法进行
# cd zlib-1.2.8
# ./configure
# make&&make install
3.5、解压安装openssl包:
# tar -zxvf openssl-1.0.1p.tar.gz
# cd openssl-1.0.1p
# ./config shared zlib
# make
# make test
# make install
# mv /usr/bin/openssl /usr/bin/openssl.OFF
# mv /usr/include/openssl /usr/include/openssl.OFF
//该步骤可能提示无文件,忽略即可
# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
//移走原先系统自带的openssl,将自己编译产生的新文件进行链接。
3.6、配置库文件搜索路径
# echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
# /in/ldconfig -v
# openssl version -a
OpenSSL 1.0.1m 19 Mar 2023
built on: Sat Mar 21 04:11:
platform: linux-x86_64
options: bn(64,64) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,–noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_A_MONT -DOPENSSL_BN_A_MONT5 -DOPENSSL_BN_A_GF2m -DSHA1_A -DSHA256_A -DSHA512_A -DMD5_A -DAES_A -DVPAES_A -DBSAES_A -DWHIRLPOOL_A -DGHASH_A
OPENSSLDIR: “/usr/local/ssl
3.7、解压安装openssh包:
先将将/etc/ssh的文件夹备份:
# mv /etc/ssh /etc/ssh_bak
# tar -zxvf openssh-7.1p1.tar.gz
# cd openssh-7.1p1
# ./configure –prefix=/usr –sysconfdir=/etc/ssh –with-zlib –with-ssl-dir=/usr/local/ssl –with-md5-passwords –mandir=/usr/share/man –with-pam
# make
# make install
ssh –V
OpenSSH_7.1p1, OpenSSL 1.0.1p 9 Jul 2023
3.8、启动调试ssh
# /usr/in/sshd -d
debug1: sshd version OpenSSH_7.1, OpenSSL 1.0.1m 19 Mar 2023
debug1: private host key #0: ssh-rsa SHA256:EqDJvZiq8JgG+nG/xZ6yrd3B+OoulgE5GhzSZcJHg
debug1: private host key #1: ssh-dss SHA256:AmqP8tvvqy3t1dSy1P4ETqh8Poma40PmzDpTtipVIqQ
debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:sebvQl7OXvlFBy9zuUYPwWfqJm47qYBi/IIcEA8Jk
debug1: private host key #3: ssh-ed25519 SHA256:niy1XbgnrydgeFXfMqVjkfRbUlZ4YeFsWof2cWoCBWc
debug1: rexec_argv=’/usr/in/sshd’
debug1: rexec_argv=’-d’
Set /proc/self/oom_score_adj from 0 to -1000
debug1: Bind to port 22 on 0.0.0.0.
Bind to port 22 on 0.0.0.0 failed: Address already in use.
debug1: Bind to port 22 on ::.
Bind to port 22 on :: failed: Address already in use.
Cannot bind any address.
3.9、启动服务
# cp -p contrib/redhat/sshd.init /etc/init.d/sshd(redhat使用)
# cp -p contrib/suse/rc.sshd /etc/init.d/sshd(suse使用)
//其他版本操作系统具体查看contrib对应目录和readme。
# chmod +x /etc/init.d/sshd
# chkconfig –add sshd
# cp sshd_config /etc/ssh/sshd_config (如提示覆盖,yes回车)
# cp sshd /usr/in/sshd (如提示覆盖,yes回车)
10、验证是否成功
service sshd start
ssh -V
OpenSSH_7.1p1, OpenSSL 1.0.1m 19 Mar 2023
此时可以尝试远程ssh进去服务器,如果能连,并查看验证日志信息等确认无误。
查看ssh服务状态:
//以下配置redhat略有不同,具体情况具体解决。
/etc/init.d/sshd status
Checking for service sshd unused
状态不可用,ssh连接正常。
pkill sshd
杀掉sshd服务
service sshd start
启动sshd服务
service sshd status
Checking for service sshd running
卸载telnet-server
rpm –e telnet-server
客户端连接telnet失败。
# vi /etc/ssh/sshd_config
看看你/etc/security/limits.conf里是否有用户数的限制。比如下面的:
* soft nproc 100
* hard nproc 150
到返谨了陆首100个用户,就会漏悉基报下面的错:
sshd: Accepted password for user from 192.168.1.1 portssh2
sshd: fatal: setresuid 500: Resource temporarily unavailable
1、搜一下:ssh Read from remote host Connection reset by peer
2、SSH有一个 ClientAliveInterval 参数,在你的 /etc/ssh/sshd_config 配置文件中设置一个合适的值,比如:ClientAliveInterval 115 就可以让 OpenSSH 服务器端在空闲的时候定时向客户端请求一个数据包。
ISP或网关在使用NAT时,有时NAT设备会检测建立的session,如果无数据传输,就会拆掉该session,体现在ssh登录时,就会出现没有操作时无缘无故的断线。在陪卖NAT转换时,默认无传输session存活周期为120秒,把ClientAliveInterval值设成了115秒,这样就芦锋逗解决了SSH容易掉的基孝问题!
关于linux ssh openssl的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联科技有限公司,经过多年的不懈努力,公司现已经成为一家专业从事IT产品开发和营销公司。广泛应用于计算机网络、设计、SEO优化、关键词排名等多种行业!
网站栏目:如何使用Linux上的SSH和OpenSSL?(linuxsshopenssl)
当前链接:http://www.shufengxianlan.com/qtweb/news36/49036.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联