输入:ssh-keygen -t rsa -b 4096 -f id_rsa-remote-ssh 回车创建ssh key
上传pub key到远程server的 .ssh目录,
输入:scp -P 22 id_rsa-remote-ssh.pub phoenix@192.168.81.128:~/.ssh/
linux 上 若没有该目录
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
cat ./id_rsa.pub >>./authorized_keys # 加入授权
chmod 600 authorized_keys
chmod 700 .ssh
visual code 配置
Host alias
HostName 192.168.201.128
User kason
Port 22
IdentityFile C:\\Users\\Kason\\id_rsa-remote-ssh
执行sudo vim /etc/ssh/sshd_config打开ssh配置文件,确认以下选项是否有开?要确保有开的情况下,才能用ssh key免密码登陆
配置文件一般位于/etc/ssh/sshd_config
将配置项前面的#号去掉,然后修改值
重启服务,service ssh restart或service sshd restart或/etc/init.d/ssh restart
PermitRootLogin yes#允许root登录
PermitEmptyPasswords no#不允许空密码登录
PasswordAuthentication yes# 设置是否使用口令验证
AuthorizedKeysFile .ssh/authorized_keys#指定授权文件
RSAAuthentication yes
PubkeyAuthentication yes
链接:https://www.imooc.com/article/288622
改变权限
SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文主要介绍OpenSSH免费开源实现在Ubuntu中的应用,如果要在Windows中使用SSH,需要使用另一个软件PuTTY。
SSH之所以能够保证安全,原因在于它采用了非对称加密技术(RSA)加密了所有传输的数据。
传统的网络服务程序,如FTP、Pop和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
但并不是说SSH就是绝对安全的,因为它本身提供两种级别的验证方法:
口令登录非常简单,只需要一条命令
还要说明的是,SSH服务的默认端口是22,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号,比如:
首先使用ssh-keygen命令生成密钥对
然后根据提示一步步的按enter键即可,执行结束以后会在 /home/当前用户 目录下生成一个 .ssh 文件夹,其中包含私钥文件 id_rsa 和公钥文件 id_rsa.pub 。
(其中有一个提示是要求设置私钥口令passphrase,不设置则为空,如果为了免密登陆可以不设置。)
使用 ssh-copy-id 命令将公钥复制到远程主机
ssh-copy-id会将公钥写到远程主机的 /root/ .ssh/authorized_key 文件中
使用ssh-copy-id命令登陆哪个用户就会存放在哪个用户的home目录下。
也可以手动复制到authorized_key文件当中。
第一次登录时,会提示用户
意思是无法验证用户的公钥,是否正确,询问用户是否要继续。
ECDSA key给出了远程主机公钥的SHA256编码过的值,一般在远程主机的网站会告示公钥的值,
用户可以将这个公钥和网站上的公钥进行比对,正确则表明是远程主机。
输入yes之后,系统会将公钥加入到已知的主机列表,如下所示,已知列表中的主机,下次不会再询问。
SSH的配置文件通常在 /etc/ssh/sshd_config
配置文件中有非常详尽的注释,一般在工作中主要用到的几个配置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)