Linux에는 SSH가 함께 제공됩니다. Linux 시스템에는 자체 SSH 소프트웨어가 함께 제공됩니다. 기본값은 OpenSSH 관련 소프트웨어 패키지이며, 부팅 시 자동으로 시작되도록 SSH 서비스가 추가됩니다. 설치된 SSH 버전 정보를 보려면 "ssh -V" 명령을 사용할 수 있습니다. "systemctl start sshd" 명령을 실행하여 sshd 서비스를 시작합니다. 기본 포트는 포트 22입니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
리눅스에는 ssh가 나오나요?
서버는 보통 컴퓨터실에 있어서 서버를 관리하기 위해 매번 컴퓨터실에 가야 한다면 불편할 것 같아요. 그래서 리눅스에는 ssh(Secure Shell의 약어)라는 쉘을 사용하여 원격으로 메시지를 보낼 수 있는 기능이 있습니다. 즉, 서버에서 서비스가 시작되어 원격 액세스 데이터를 수신한 다음 데이터를 시스템 커널로 전달하여 이러한 작업을 완료하므로 R&D 동료가 컴퓨터실에 가지 않고도 서버를 유지할 수 있습니다.
Ssh에서는 서버가 해당 네트워크 포트를 열어야 합니다. 기본값은 포트 22이며, 9022 등의 다른 포트로 수정될 수도 있습니다.
서버는 외부 사용을 위해 포트를 예약하고 관리 목적으로 사용되므로(셸을 통해 서버를 제어할 수 있음) SSH는 다양한 보안 제한을 제공하며, 가장 일반적인 제한 사항은 루트 계정 로그인을 금지하고 신뢰할 수 있는 IP 로그인만 허용하는 것입니다. 인증서 방법을 사용하십시오. 이렇게 하면 낯선 사람이 관련 계정과 권한을 얻었더라도 서버에 로그인하는 것을 방지할 수 있습니다.
외부 컴퓨터는 SSH를 사용하여 서버에 로그인하며, 이를 위해서는 해당 클라이언트 소프트웨어가 필요합니다. Linux 또는 Mac인 경우 시스템에 SSH 소프트웨어가 함께 제공됩니다(명령줄 모드임에도 불구하고). 기본값은 OpenSSH입니다. ssh -V 명령을 사용하면 설치된 SSH 버전 정보를 볼 수 있습니다. 위 정보를 보면 알 수 있듯이, 가상 머신에 설치된 CentOS 6.4에 기본적으로 설치되는 SSH 프로토콜은 1.0입니다.
OpenSSH 서버 구성 파일서비스 이름: sshd
서버 기본 프로그램:/usr/sbin/sshd
서버 구성 파일:/etc/ssh/sshd_config
openSSH는 SSH 프로토콜을 구현합니다. 오픈 소스 소프트웨어 다양한 UNIX 및 Linux 운영 체제에 적합한 프로젝트입니다.
centos 7 시스템에는 기본적으로 openssh 관련 소프트웨어 패키지가 설치되어 있으며, 부팅 시 자동으로 시작되도록 ssh 서비스가 추가되어 있습니다.
"systemctl start sshd" 명령을 실행하여 sshd 서비스를 시작하세요. 기본 포트는 포트 22입니다.
ssh_confiog와 sshd_config는 모두 SSH 서버의 구성 파일입니다
차이점은 전자는 클라이언트용 구성 파일이고 후자는 서버용 구성 파일이라는 점입니다.
Ssh 서버에는 주로 SSH 원격 연결과 SFTP 서비스라는 두 가지 서비스 기능이 포함됩니다.
기능: SSHD 서비스는 SSH 프로토콜을 사용하여 원격 제어를 수행하거나 컴퓨터 간에 파일을 전송합니다. 이전에 Telnet을 사용하여 파일을 전송하는 것과 비교하면 Telnet은 파일을 일반 텍스트로 전송하고 SSH는 암호화된 파일을 전송하므로 훨씬 안전합니다.
ssh 원격 로그인 방법
Ssh를 통해 로그인하는 방법은 두 가지가 있습니다.
처음 서버에 로그인할 때 시스템은 원격 호스트의 정보를 저장하지 않습니다. 호스트의 신원을 확인하기 위해 사용자에게 연결을 계속할지 묻는 메시지가 표시됩니다. in. 이때 시스템은 원격 서버 정보를 사용자의 홈 디렉터리인 $HOME /.ssh/known_hosts 파일에 기록합니다. 다음에 로그인할 때 호스트 정보가 저장되므로 메시지가 다시 표시되지 않습니다.
1. 방법 1
형식 : ssh [원격 호스트 사용자 이름] @ [원격 서버 호스트 이름 또는 IP 주소] -p port Linux 호스트가 다른 Linux 호스트에 원격으로 접속할 경우, 현재 로그인된 사용자는 루트이며, 다른 호스트에 접속하여 루트 사용자로 로그인 시 SSH IP를 이용하여 직접 로그인할 수 있습니다. 기본 포트이면 충분합니다. 기본값이 아닌 경우 -p를 사용하여 포트를 지정해야 합니다.
다른 호스트에 원격으로 로그인
ssh root@192.168.100.10 첫 번째 대화형 입력은 루트 비밀번호입니다.
로그인한 후 로그아웃합니다. .sshd는 로그인 정보를 기록하는 파일이 포함된 로컬 홈 디렉터리에 생성됩니다.
2. 도메인 이름 프로세스를 사용하여 로그인①로컬 매핑 관계 수정
②로그인
3. 직장에서 가끔. SSH 로그 필요 그러나 때때로 SSH 로그인이 금지되고 다음과 유사한 프롬프트가 나타납니다.경고: 알려진 호스트 목록에 '192.168.100.10'(ECDSA)이 영구적으로 추가되었습니다. 인증 실패.
这时直接删除家目录下面的 .ssh 目录下面的文件,即可解决。
4、sshd服务支持的两种登录验证方式
1)密码验证
对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时,防护能力比较弱。
18位密码复杂性(大写、小写、字符、数字),修改端口为高位端口,可以提高安全性。
2)秘钥对验证
要求提供相匹配的秘钥信息才能通过验证。通常先在客户端中创建一对秘钥文件(公钥、私钥),然后将公钥文件放到服务器中指定位置,远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,
大大增强了远侧还能够管理的安全性。该方式不易被假冒,且可以免交互登录,在shell中被广泛使用
当密码验证、秘钥验证都启用时,服务器将优先使用秘钥对验证。 对于安全性要求高的服务器,建立将密码验证方式禁用,只允许启用秘钥对验证方式。
配置文件中修改启用密码验证还是秘钥验证
配置文件:/etc/ssh/sshd_config
PasswordAuthentication yes #启用密码验证 PubkeyAuthentication yes #启用密钥对验证 AuthorizedKeysFile .ssh/authorized_keys #指定公钥库文件(ls -a可查看)
配置文件中其它的设置
LoginGraceTime 2m #登录验证时间为2分钟(默认2分钟) PermitRootLogin no #禁止root用户登录 MaxAuthTries 6 #最大重试次数为6次 PermitEmptyPasswords no #禁止空密码登录 PrintLastLog yes #显示上次登入的信息!默认为 yes AllowUsers #只允许或禁止某些用户登录
配置文件修改完之后,需要重启配置sshd服务
systemctl restart sshd #重启sshd服务
构建秘钥对验证的SSH
公钥和私钥的关系
在对称加密技术中,有两种秘钥,分为私钥和公钥,私钥是秘钥的创建人拥有,不可公布,公钥是创建者公布给他人的。
公钥用来给数据加密,用公钥加密的数据只能使用私钥解。
构建秘钥对验证SSH的原理
首先ssh通过加密算法在客户端产生秘钥对(公钥和私钥),公钥发送给服务端,自己保留私钥。
如果要想连接带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求联机的用户密钥进行安全验证。
SSH服务器收到请求之后,便在被连接的用户的家目录下寻找事先放上去的对应用户的公用秘钥
然后把它和连接的SSH客户端发送过来的公用秘钥进行比较,如果两个秘钥一致,SSH服务器就用公钥加密“质询”并把它发送给SSH客户端。
简单理解
生成密钥可以在客户端和服务端两边生成,但是我们需要将使用客户端登录到服务端,那么,客户端就一直需要的是私钥,服务端要存在公钥,所以不关密钥对在客户端还是服务端生成,客户端拿到的都会是私钥,服务端拿到的都是公钥。
通俗理解
公钥(public key)相当于一扇门,私钥(pribate key)相当于是开门的钥匙,当一台机器A需要登录到机器B的时候,就得拿着钥匙去开门,但是前提的是机器B必须要有门,所以需要给机器B装上门,那就是把机器A的公钥给到机器B。然后机器A使用私钥就可以打开机器B的公钥门。
1、scp远程复制
scp复制 :是secure copy (安全复制)的简写,用在Linux下进行远程拷贝的命令,而且scp传输时加密的。
应用场景
在系统误删环境配置文件且没有备份的时候,可以远程从其它主机上拷贝过来。
本地文件复制到服务器 scp 1.txt root@192.168.100.10:/opt 复制服务器的目录到本地 scp root@192.168.100.10:/home/sky/ ./ 本地目录复制到服务器 scp -r / root@192.168.100.10:/home
2、sftp 安全性传输
sftp 是secure file transfer protocol(安全文件传送协议) 的缩写,可以为传输文件提供一种安全的网络加密方法。
sftp与ftp有着几乎一样的语法和功能,sftp 为ssh的其中一部分,sftp本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。所以使用sftp是非常安全的,但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低的多。对网络安全要求更高时,可以使用SFTP代替FTP。
从服务端下载文件到本地主机
从本地主机上传文件到服务端
3、配置密钥对实验
通过ssh-keygen工具为当前用户创建密钥对文件,可用的加密算法有“RAS”、“ECDSA”、“DSA”,通过-t 选项调用相应的算法。
3.1 在服务端创建密钥对
查看密钥对的位置
3.2、修改密钥对的配置文件
修改ssd_config配置文件没关闭,关闭密码验证,开启密钥验证
vim /etc/ssh/sshd_config
加载服务
3.3、发送私钥到客户端
3.4用xshell登录
3.5、客户端创建秘钥
vim /etc/ssh/sshd_config 修改公钥位置文件
重启服务
总结
ssh为远程登录服务器的服务
优点是使用该登录,传输数据会先 压缩再加密 ,保证安全性
登录方式有两种,配置各种参数进行登录,最为长常用的是 ssh ip地址或主机名
scp可以跨主机传输文件。
sftp也可以远程登录,传输具有安全性,功能与ftp类似,但是没有独立的守护进程,它依赖于sshd服务,22端口,只有启用sshd服务才能使用sftp服务。
ssh生成密钥对
可在客户端和服务端两边生成,
但是最终 客户端 拿的必须是 私钥 , 服务端 拿的是 公钥 ,
且在服务器中需要修改配置文件: /etc/ssh/sshd_config 内容,比如:开启密钥对验证,关闭密码验证,设置公钥路径。
密钥对验证使用的是非对称密钥,优点是:可以免密登录,提高安全性。
相关推荐:《Linux视频教程》
위 내용은 리눅스에는 ssh가 포함되어 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!